php包含文件未找到错误

时间:2013-05-06 17:12:58

标签: php get include

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

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

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

几乎忘记了。我用这个来包含我网站的一部分:

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

感谢阅读!

3 个答案:

答案 0 :(得分: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重定向吗?或者只是将自定义错误页面加载到文档中?根据您的目的选择上述内容。

答案 1 :(得分:0)

$GetPage = $_GET["page"];  // validate string!!  
if (!file_exists('include/' . $GetPage . '.php')) {
    $GetPage = 'errorPage';
}

答案 2 :(得分: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