Предположим, у меня есть следующий файл – template.php
:
<?php $string = 'Hello World!'; ?> <html> <head> <title>Test Page!</title> </head> <body> <h1><?= $string; ?></h1> <p>You should see something above this line</p> </body> </html>
Я знаю, что я могу использовать file_get_contents()
чтобы получить содержимое файла в виде строки, которое я могу затем манипулировать по мере необходимости. Однако file_get_contents()
не выполняет инструкции PHP.
Я успешно использовал cURL, чтобы получить доступ к рендеринговой версии файла, но он выглядит довольно медленным и неуклюжим, добавляя довольно много времени на выполнение страницы – что, я думаю, связано с выполнением DNS-поиска ,
Итак, как я могу получить содержимое template.php
в строку, а там есть полезный PHP?
Это должно сделать это:
ob_start(); include('template.php'); $returned = ob_get_contents(); ob_end_clean();
вob_start(); include('template.php'); $returned = ob_get_contents(); ob_end_clean();
Если вам не нужно делать это в PHP, вы можете выполнить php-скрипт из командной строки и передать его в текстовый файл, например:
php -f phpFile.php > output.html