变量$ WebSiteDirectory永远不会被取消,我仍然会收到错误消息
变量在“/../ Include / ini.inc.php”中设置:
$WebSiteDirectory = "mydir\";
$newLine = "<br />";
$phpNewLine = "\n";
它被填满的地方是:
echo $WebSiteDirectory; // this line is fine
function theFunction($VAR) {
$dir = $WebSiteDirectory."my other dir"; // this line gets an error
var_dump($dir);
return file_exists($dir);
}
如果形成则不确定是否存在错误。但是,我也会在程序中重用$WebSiteDirectory
,所以我知道它不会在任何地方被取消。我很确定我是盲人
答案 0 :(得分:7)
在PHP中,函数范围之外的变量不可见。
您必须将$ WebSiteDirectory作为参数传入函数,或者您可以使用global关键字
function theFunction($VAR){
global $WebSiteDirectory
请先阅读PHP手册中关于变量范围的一点内容,因为它说明了支持和反对此方法的一些好理由:
答案 1 :(得分:0)
将您的变量添加到您的函数中
function theFunction($VAR) {
$WebSiteDirectory = "mydir";
$newLine = "<br />";
$phpNewLine = "\n";
$dir = $WebSiteDirectory."\my other dir"; // this line gets an error
var_dump($dir);
return file_exists($dir);
}
或者您可以将此变量初始化为全局变量
global $WebSiteDirectory = "mydir";
global $newLine = "<br />";
global $phpNewLine = "\n";
然后,只有您可以将此变量访问到您的功能