0

在我正在构建的页面上,我要求它根据 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位,但仍然失败)谢谢。(还,

4

1 回答 1

0

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

$foo = trim($page.".php");

if(!file_exists($foo)) {
     :
} else {
     include(trim($rootaccess.$foo));
}
于 2012-09-19T02:55:42.550 回答