Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как парсировать .php в сохраненный на диске .html ?

415
14 сентября 2004 года
SLA
274 / / 08.08.2003
Всем привет!

Как средствами PHP сделать оффлайн-версию сайта?
Т.е. имеется куча .php файлов, и из них нужно сгенерировать статичные .html файлы. Что-то вроде этого:

 
Код:
<?php
$fp = fopen("test.html","w");
fputs($fp, [color="red"]ПАРСИРОВАННЫЙ[/color]("test.php"));
fclose($fp);
?>


Есть такой способ? Заранее благодарен за ответы.
338
14 сентября 2004 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by SLA
Есть такой способ? Заранее благодарен за ответы.


Только не парсированный, а блин, даже не знаю как- пропарсенный что ли. А точнее твой вопрос звучит как сохранить результат работы скрипта на диске. Включить кэширование и сбросить перед выводом в броузер на диск. Или сбросить клиенту а потом на диск. Или сбросить клиенту, завершить работу скрипта, а кеширование повесить на shutdown function. В общем зри в Output Control Functions,
register_shutdown_function ('name');, можешь устроить кеширование сам. Если сам скрипт менять низя, смотрим на include.
p.s eval() можно помучить.

415
14 сентября 2004 года
SLA
274 / / 08.08.2003
Ого! Я думал, можно проще. Ну неужели нет готовой функции?
Пробовал
fputs($fp, include("test.php"));
записывает в файл "1" - наверное, результат выполнения функции.
Средств перенаправления стандартного вывода (stdout) в PHP нет?
1.8K
15 сентября 2004 года
tapin13
138 / / 17.06.2004
Цитата:
Originally posted by SLA
Ого! Я думал, можно проще. Ну неужели нет готовой функции?
Пробовал
fputs($fp, include("test.php"));
записывает в файл "1" - наверное, результат выполнения функции.
Средств перенаправления стандартного вывода (stdout) в PHP нет?



Dna vopros chto nado :)
Est' nad chem podumat' hot'... Budem dumat', shas chto to golova ne varit. :(

338
15 сентября 2004 года
chigevara
529 / / 29.09.2003
php://stdin
php://stdout
php://stderr
php://output
php://input
php://filter
Только не надо это всё. Просто, если скрипт можно менять, то используешь буферизацию, если необходимы результаты внешнего скрипта, то включил буферизацию, сделал инклуд и сбросил буфер на винт. Вот и всё. Единственный косяк - если испытуемый скрипт нахально сам сбрасывает буфер клиенту.
Другой вариант - запускать скрипты с командной строки оператором fwrite($handle, `php_path script_name.php?parameters`);
Кавычки это если чё оператор.
287
15 сентября 2004 года
Shiizoo
958 / / 14.03.2004
Хы, блин, ну вопрос задал.. И опять я понял не как все=) Мне казалось "Сделать оффлайн версию сайта", это просто включить teleport.pro, добавить проект, указать адрес, указать уровень вложений и вперед..)ъ Ну, не знаю, ну нигде в его вопросе не уловил хотя бы тонкого намёка на то, что ему нужно кэшировать результаты работы скрипта (видимо, чтобы не парсить его постоянно????).. =)ъ

А если действительно нужен второй вариант, то где в РУнете есть статьи по этому поводу, причем довольно внушительные)ъ Го на рамблер и вперед;)ъ Недавно на своей шкуре убедился, изобретать велосипед - галимая участь)ъ
415
15 сентября 2004 года
SLA
274 / / 08.08.2003
Ребят, я нашел аккуратный и быстрый способ:

php.exe -f test.php > test.htm

Жаль только, что это все происходит в обход моего Apache.

Teleport Pro, Offline Explorer и др. - не подходят. Т.к. они могут изменить код html. К тому же, некоторые персональные файрволы (Outpost Firewall) меняют html-код. Браузер Mozilla - тоже, но очень редко.

Способ с fwrite($handle, `php_path script_name.php?parameters`); - попробую.

Кто-нибудь знает еще каки-нибудь способы?
338
15 сентября 2004 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by SLA
Ребят, я нашел аккуратный и быстрый способ:

php.exe -f test.php > test.htm

Способ с fwrite($handle, `php_path script_name.php?parameters`); - попробую.


Два яйца в фас и профиль.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог