有没有办法只退出包含的PHP文件?

时间:2011-07-17 20:55:49

标签: php

所以,我有一个包含在index.php中的sidebar.php。在某种情况下,我希望sidebar.php停止运行,所以我想将exit放在sidebar.php中,但实际上它会退出其下的所有代码,这意味着include('sidebar.php');下的所有内容在index.php中,所有代码也会被跳过。有没有办法让exit只跳过sidebar.php中的代码?

3 个答案:

答案 0 :(得分:73)

只需使用return;

即可

还要注意,实际上可以通过这种方式将某些内容返回给调用脚本。

如果您的父脚本有$somevar = include("myscript.php");,然后在myscript.php中,您说... return true;,您将在$somevar

中获得该值

答案 1 :(得分:11)

是的,您只需使用return;。您的sidebar.php文件可能如下所示:

<?php

if($certain_condition) {
    return;
} else {
    // Do your stuff here
}

?>

答案 2 :(得分:6)

我知道这是一个非常古老的问题,但我最近接管了另一个使用exit出口的开发人员的代码库,这意味着包含各种文件的父文件必须以包含各种文件的方式设计模块文件的最后完成,所以它没有切断页面。我写了一个小的PHP脚本来替换所有出现的“退出”;与“回归;”。

if($handle = opendir("path/to/directory/of/files")) {
    while(false !== ($file = readdir($handle))) {
        if("." === $file) continue;
        if(".." === $file) continue;

        $pageContents = file_get_contents($file);
        $pageContents = str_replace("exit;", "return;", $pageContents);
        file_put_contents($file, $pageContents);

        echo $file . " updated<br />";

    }
}

我希望这有助于某人。