PHP包含 - 错误修复

时间:2016-12-23 11:24:08

标签: php php-include

我有以下PHP代码产生错误,因为包含文件不存在。我还没有制作它们,但我想阻止产生错误(不仅仅是隐藏)。我可以在代码中添加任何内容,“如果文件不存在则不记录任何错误,只需忽略指令”

<?php
  $PAGE = '';
  if(isset($_GET['page'])) {
    $PAGE = $_GET['page'];
  };

  switch ($PAGE) {
    case 'topic': include 'topic.php';
    break;
    case 'login': include 'login.php';
    break;
    default: include 'forum.php';
    break;
  };
?>

4 个答案:

答案 0 :(得分:1)

在调用include;

之前,使用file_exists()检查文件是否存在
if (file_exists('forum.php')) {
    //echo "The file forum.php exists";
    include 'forum.php';
}
//else
//{
//    echo "The file forum.php does not exists";
//}

答案 1 :(得分:0)

仅在文件存在时包括文件。您可以添加对现有文件的检查 -

switch ($PAGE) {
    case 'topic': 
       if(file_exists(path_to_file)) {
           include 'topic.php';
       }
    break;
    ......
};

file_exists()

答案 2 :(得分:0)

您似乎在寻找@运算符来消除表达式中的任何错误,您可以在此处阅读更多相关信息:http://php.net/manual/en/language.operators.errorcontrol.php

答案 3 :(得分:0)

使用file_exists()函数:

<?php
  $PAGE = '';
  if(isset($_GET['page'])) {
    $PAGE = $_GET['page'];
  };

  switch ($PAGE) {
    case 'topic': 
        if (file_exists("topic.php")){
            include 'topic.php';    
        }
        break;
    case 'login':
        if (file_exists("login.php")){
            include 'login.php';    
        }
        break;
    default:
        if (file_exists("forum.php")){
            include 'forum.php';    
        }       
        break;
  };
?>

文档http://php.net/manual/en/function.file-exists.php