Подтвердить что ты не робот

Есть ли способ выйти из включенного только файла php?

Итак, у меня есть sidebar.php, который включен в index.php. В определенном состоянии я хочу, чтобы sidebar.php перестала работать, поэтому я подумал о том, чтобы положить exit в sidebar.php, но на самом деле выходит из всего кода под ним, означая все под include('sidebar.php'); в index.php, весь код будет также пропустить. Есть ли способ, чтобы exit пропускал только код в sidebar.php?

4b9b3361

Ответ 1

Просто используйте return;

Также имейте в виду, что можно фактически вернуть что-то вызывающему script таким образом.

если ваш родительский script имеет $somevar = include("myscript.php");, а затем в myscript.php вы говорите... return true; вы получите это значение в $somevar

Ответ 2

Да, вы просто используете return;. Ваш файл sidebar.php может выглядеть примерно так:

<?php

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

?>

Ответ 3

Я знаю, что это действительно старый вопрос, но я недавно взял на себя базу кода другого разработчика, который использовал выход религиозно, что означает, что родительский файл, который включал различные файлы, должен был быть спроектирован таким образом, чтобы включить файлов модулей были сделаны в конце, чтобы он не отрезал страницу. Я написал небольшой PHP script для замены всех вхождений "exit;" с "return;".

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 />";

    }
}

Я надеюсь, что это поможет кому-то.