0

我有个问题。我有这个脚本

<?php
$GetPage= "index";
if((isset($_GET["page"])==true) && ($_GET["page"] != "")){
$GetPage = $_GET["page"];
}
?>

但我在 stackoverflow 和谷歌上搜索。但我找不到它。当php找不到文件时,我想包含一个错误页面。我怎样才能做到这一点?我只是 php 的初学者。

哦,差点忘了。我用它来包含我网站的一部分:

<?php include ("include/$GetPage.php"); ?> 

谢谢阅读 !

4

3 回答 3

1
<?php

//file_exists will eliminate the need for any of your other checks.
if(file_exists($_GET["page"])){
    //Set the page to be loaded if it is found on the server
    $GetPage = $_GET["page"];
}else{
    //Show the user a 404 error message
    header("HTTP/1.0 404 Not Found");
    //OR
    //Set the page to be loaded as your custom error page
    $GetPage = "my_error_page.php";
}

//Include the page
include $GetPage;

?>

您是否正在寻找 404 重定向?或者只是将自定义错误页面加载到文档中?根据您想要做的选择以上。

于 2013-05-06T17:18:47.050 回答
0
$GetPage = $_GET["page"];  // validate string!!  
if (!file_exists('include/' . $GetPage . '.php')) {
    $GetPage = 'errorPage';
}
于 2013-05-06T17:15:51.200 回答
0

首先检查文件在文件夹中(用于注入),($file是文件的完整路径。)

$path = "include";//your include folder path
if ( substr(realpath($file) , 0,strlen($path)) != $path || is_dir($file))
        //error file not found

第二个检查文件是否存在

if (!file_exists($file))
//error
于 2013-05-06T17:18:38.047 回答