我有一个问题。我有这个脚本
<?php
$GetPage= "index";
if((isset($_GET["page"])==true) && ($_GET["page"] != "")){
$GetPage = $_GET["page"];
}
?>
但我搜索stackoverflow和谷歌。但我找不到它。我想在php找不到文件时包含一个错误页面。我怎样才能做到这一点?我是php的首发。
几乎忘记了。我用这个来包含我网站的一部分:<?php include ("include/$GetPage.php"); ?>
感谢阅读!
答案 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