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

时间:2009-11-24 16:59:40

标签: php file function include die

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

include.php:

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

file1.php

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

file2.php

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

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

7 个答案:

答案 0 :(得分:9)

非英语演讲者:

您也可以用您的母语提供您的问题,此处有人可能会为您翻译。只需尽力用英语提问,并在下面添加您的母语。


如果您想测试包含是否成功,您可以测试包含函数本身的返回值:

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

您可能还会考虑require()而不是include(),具体取决于您的需求:

  

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

答案 1 :(得分:8)

如果我理解你正在尝试做什么,那么不幸的是,这是不可能的。

die();将阻止脚本在调用它的位置执行。

答案 2 :(得分:1)

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

file_get_contents('link_to_file.php');

而不是include方法。当您强制文件独立执行时,它不会在脚本执行中生效。

答案 3 :(得分:1)

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

我希望这就是你想要的。

答案 4 :(得分:1)

以下是如何包含文件,如果包含失败代码示例,则会在消息中消失。

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

答案 5 :(得分:0)

die()只是一个带错误的出口,你不能用它包含文件,我真的不明白你为什么要这样做。你能提供一些关于你想要完成的事情的更多细节吗?

答案 6 :(得分:0)

LorenzoP的方法进行了微小的改进:


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

这样,当包含失败时,您可以为自己节省2条丑陋的php警告。否则,我认为这确实是处理失败包含的最佳方法。 (此外,他的回答应该是被接受的。)