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

Как сгенерировать статический html файл из вывода PHP скрипт, используя php

Я хотел бы создать статическую html-страницу из php файла и сохранить ее с другого php script. Это script запускает множество функций эха, которые при просмотре в браузере - хорошая страница html. Но когда я запускаю file_get_contents, он открывает этот файл как файл в файловой системе, а не как файл в URL-адресе.

Нужно ли мне указывать file_get_contents на пути localhost/site/categories.php? Как я могу получить этот путь? Это неправильный код:

<?php
$file = file_get_contents("categories.php");
file_put_contents("categories.html", $file);
?>
4b9b3361

Ответ 1

Чтобы получить готовый вывод, вам нужно использовать функциональные возможности фреймворков PHP и запросить его через веб-сервер. Тогда это так же просто, как:

copy("http://localhost/site/categories.php", "categories.html");

Ответ 2

Да - запустите файл_get_contents по локальной схеме - если ваш сервер настроен правильно, он не пойдет в Интернет и не получит эффективные результаты, даже если вы размещаете на своем собственном доменном имени.

<?php
$file = file_get_contents("http://yourserver.com/site/categories.php");
file_put_contents("categories.html", $file);
?>

Ответ 3

Я считаю, что вы можете просто:

$file = file_get_contents("http://localhost/site/categories.php");

Тем не менее, fopen wrappers должен быть включен для file_get_contents() для чтения URL-адресов.

Ответ 4

Я бы не использовал php для достижения соображений безопасности. Лучшим подходом было бы использовать ssh для копирования файла на желаемый удаленный сервер:

PHP скрипт.php | ssh [email protected] "cp - /path/to/static/file.html

Ответ 5

Мне может не хватать точки здесь, но также может быть идея включить() другой файл PHP и просто использовать его для создания вывода непосредственно по требованию, а не для включения этого веб-сервера на этот этап процесса.