В настоящее время я изучаю PHP и, судя по тому, что я вижу, $_SERVER ['SCRIPT_NAME'];
содержит путь к текущему сценарию. Однако любая страница, которую я пытаюсь идентифицировать, отображается как «/index.php».
Например, я запущу это на about.php, но результаты вернут "/index.php".
<?php
$current_file = $_SERVER['SCRIPT_NAME'];
echo $current_file;
?>
Очевидно, я чего-то упускаю, но не понимаю, что это такое.
2 ответа
Поскольку ваш about.php является файлом шаблона, который в какой-то момент включается в index.php , в результате вы получаете /index.php
.
Вам следует попробовать использовать __FILE__
:
Полный путь и имя файла. Если используется внутри включения, возвращается имя включенного файла. Начиная с PHP 4.0.2, __FILE__ всегда содержит абсолютный путь с разрешенными символическими ссылками, тогда как в более старых версиях он содержал относительный путь при некоторых обстоятельствах.
<form action="$current_file" method="POST">
с $current_file = (__FILE__)
возвращает URL-адрес полного пути. Есть ли другой способ вернуть пользователя на исходную страницу без использования фактического URL-адреса? ПРИМЕЧАНИЕ. Это для формы входа, поэтому я даю пользователям доступ для входа на любой странице.
action="<?=($_SERVER['PHP_SELF'])?>"
или action="?"
для атрибута формы action. Кроме того, action=""
работает, но я не думаю, что это допустимый HTML5.
"SCRIPT_NAME" Содержит путь к текущему сценарию. Это полезно для страниц, которые должны указывать сами на себя. Константа __FILE__ содержит полный путь и имя текущего (т.е. включенного) файла.
Выдержка из http://www.php.net/manual/en/reserved .variables.server.php
Документация веб-сайта php.net очень многословна с отличными комментариями пользователей. Я бы посоветовал вам первым делом ответить практически на любой ваш вопрос о php.
'PHP_SELF' The filename of the currently executing script, relative to the document root. For instance, $_SERVER['PHP_SELF'] in a script at the address http://example.com/foo/bar.php would be /foo/bar.php. The __FILE__ constant contains the full path and filename of the current (i.e. included) file. If PHP is running as a command-line processor this variable contains the script name since PHP 4.3.0. Previously it was not available.
PHP_SELF
, но все равно получаю те же результаты
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.