Как Вы определяете PHP, включают как строку?

Я попробовал:

$test = include 'test.php';

Но это просто включало файл обычно

21
задан Ryan 27 January 2010 в 20:58
поделиться

4 ответа

Вы захотите посмотреть на функции буферизации вывода.

//get anything that's in the output buffer, and empty the buffer
$oldContent = ob_get_clean();

//start buffering again
ob_start();

//include file, capturing output into the output buffer
include "test.php";

//get current output buffer (output from test.php)
$myContent = ob_get_clean();

//start output buffering again.
ob_start();

//put the old contents of the output buffer back
echo $oldContent;

Отредактируйте:

Как указывает Джереми, стек буферов вывода. Таким образом, вы могли бы теоретически просто сделать что-то вроде:

<?PHP
function return_output($file){
    ob_start();
    include $file;
    return ob_get_clean();
}
$content = return_output('some/file.php');

Это должно быть эквивалентно моему более добросовестному оригинальному решению.

Но я не беспокоился о тестировании этого.

30
ответ дан 29 November 2019 в 06:56
поделиться

Попробуйте file_get_contents () .

Эта функция похожа на файл () , за исключением того, что File_Get_Contents () возвращает файл в строке.

8
ответ дан 29 November 2019 в 06:56
поделиться

Вы можете использовать функцию file_get_contents .

-1
ответ дан 29 November 2019 в 06:56
поделиться

Попробуйте что-нибудь вроде:

ob_start();
include('test.php');
$content = ob_get_clean();
10
ответ дан 29 November 2019 в 06:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: