$ _server ['SCRIPT_NAME']收到错误

时间:2013-05-30 05:56:32

标签: php

我正试图通过

获取页面路径
<?php

/**
* @author 
* @copyright 2013
*/

$current_file = $_SERVER["SCRIPT_NAME"];
echo $current_file;


?>

它给出了错误提示:未定义的索引:SCRIPT_NAME

此外,我将其包含在我的登录页面代码

<form action="<?php echo $current_file;?>" method="POST">
Username : <input type="text" name="username"/> Password : <input type="password" name="password" />
<input type="submit" value="LogIn" />
</form>

它还提供了有关$ current_file

的错误

1 个答案:

答案 0 :(得分:7)

来自php Manual

  

在Windows 2000下,运行IIS和PHP 4.3.10,   但是,$ _SERVER ['SCRIPT_NAME']不可用   $ _SERVER ['SCRIPT_FILENAME']存在并且似乎包含相同的内容   信息

还有一个理论

  

$ _ SERVER ['PHP_SELF']和$ _SERVER ['SCRIPT_NAME']可能不会   总是设置正确。一些web主机将php作为CGI实现   他们可以为每个虚拟域打开或关闭它的方式。   几个$ _SERVER和$ _ENV变量值可能不正确   这些虚拟域的子目录子域中的文档。其他   获取当前文件名称的方法

<?php
if (!isset($_SERVER['DOCUMENT_ROOT']))
    $_SERVER['DOCUMENT_ROOT'] = substr($_SERVER['SCRIPT_FILENAME'], 0, -strlen($_SERVER['SCRIPT_NAME']));
?>