PHP包含URL变量出错



在我正在构建的页面上,我要求它根据URL末尾的变量将文件加载到页面的一部分。例如,如果页面URL是test.php?page=lp然后页面将包括文件lp.php……现在这已经工作了一段时间,但突然停止了,我只是收到一个错误,好像文件不在那里一样。然后我"美化"了脚本,这样如果文件"找不到",就会显示一条这样的消息:

<?php $times = substr_count($_SERVER['PHP_SELF'],"/");
$rootaccess = "";
$i = 1;
while ($i < $times) {
$rootaccess .= "../";
$i++;
}
$y = date("Y");
$ymo = $y-1;
//$rootaccess.
if(!file_exists($page.".php")){
echo "The file requested (www.websitename.co.uk$rootaccess$page.php) was not found, or an error occured";
}
else {include($rootaccess.$page.".php");} ?>    

所发生的一切都是,如果找不到文件,就会抛出结果。。。那么以test.php为例呢?page=lp返回消息"找不到请求的文件(www.websitename.co.uk/lp.php),或发生错误"。但事情是这样的,文件就在那里,因为页面也使用AJAX,如果我使用AJAX链接在完全相同的位置加载完全相同的文件,它就可以工作了!(同样,如果我在错误中输入地址显示,它会起作用)我使用GET来确定脚本是否设置了$page,因为这也会更改页面的其他元素,所以我知道这是有效的。。。但由于某种原因,它不再想包含该文件——那么解决方法是什么呢?(我也尝试过不使用rootaccess位,但仍然失败)谢谢(此外,如果有人知道为什么include($rootaccess.$page.".php")前一天会工作,第二天就会停止工作,那么我很想知道,因为现在我只是对着页面大喊让它工作!!)

我想我以前也遇到过同样的问题。尝试使用:

$foo = trim($page.".php");
if(!file_exists($foo)) {
:
} else {
include(trim($rootaccess.$foo));
}

相关内容

  • 没有找到相关文章

最新更新