如何用 die() 包含文件;功能?

问题描述 投票:0回答:7

file1.php 和 file2.php 带有 die();功能。

include.php:

<? include 'file1.php';
include 'file2.php' ?>

文件1.php

<? echo 'included'; die(); ?>

文件2.php

<? echo 'not included'; die(); ?>

如何使用 die() 包含这两个文件;功能?

php file function include die
7个回答
10
投票

如果你想测试

include
行是否成功,你可以测试include函数本身的返回值:

// https://www.php.net/manual/en/function.include.php Example #4
if ((include 'file1.php') != 'OK') {
    die();
}

您也可以根据您的需要考虑使用 require() 而不是 include() :

require() 与 include() 相同,除了失败时它也会产生致命的 E_ERROR 级别错误。换句话说,它将停止脚本,而 include() 仅发出警告 (E_WARNING),允许脚本继续。


9
投票

如果我正确理解你想要做什么,那么不幸的是这是不可能的。

die();
将停止脚本在调用它的地方执行。


3
投票

以下是如何包含文件,或者如果包含失败则显示一条消息的代码示例。

(include('file.php')) || die('Failed to include file!');

2
投票
if (!condition){
   include_once('./inc/header.inc.php');
   echo "Errormessage";
   include_once('./inc/footer.inc.php');
   die();
}

我希望这是你想要的。


2
投票

只是对 LorenzoP 方法的一个小改进:


(@include("file.php")) or die("Failed to include!");
// notice the @ sign!

这样,当包含失败时,您就可以节省 2 行难看的 php 警告。否则我认为这确实是处理失败包含的最佳方法。 (另外,他的答案应该是被接受的。)


1
投票

如果你的包含文件的执行不依赖于当前文件(没有共享变量、函数等),那么使用

file_get_contents('link_to_file.php');

而不是包含方法。当你强制文件独立执行时,它不会对脚本执行产生影响。


0
投票

die()
只是一个有错误的退出,你不能在其中包含文件,我真的不明白你为什么要这样做。您能否提供更多关于您想要实现的目标的详细信息?

© www.soinside.com 2019 - 2024. All rights reserved.