Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как с помощью php сохранить сген. страницу? 
:(
    Опции темы
adler
Дата 3.8.2006, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.8.2006

Репутация: нет
Всего: нет



Доброго времени суток, не подскажите как с помощью php сохранить на сервер страницу, которую видит в данный момент пользователь?
Т.е. на одной странице был ввод данных, а на этой данные были выведены на экран с помощью <? echo ...?>, мне нужно сохранить при нажатии на кнопочку на серв полученную таким образом страницу.
PM MAIL   Вверх
AztEK
Дата 3.8.2006, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: 6
Всего: 18



Функции буферизации вывода
Поиск, кстати, хорошая вещь.


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
adler
Дата 3.8.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.8.2006

Репутация: нет
Всего: нет



Еххх(((Почти ничего не понял из статьи.
Точнее как сделать так, чтобы все время сохранялось в файлы с различными названиями? и куда попадает информация после ob_flush?

Должно выглядить так - пользователь нажимает на кнопку печать (или сохранить) и у меня на сервере сохраняется документ, который он распечатал (та html страница, которую он сейчас видит).
PM MAIL   Вверх
GiV
Дата 3.8.2006, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 13.7.2006
Где: rus|53

Репутация: 4
Всего: 9



Код

   ob_start();

   /**
    *
    * Блок где мы что-то выводим
    *
    * echo ...;
    * echo ...;
    */
   
   /**
    * В переменную $output соберем все, что выводили в предыдущем блоке
    */
   $output = ob_get_contents();
   ob_end_clean();

   /**
    * Записываем содержимое переменной output в файл с именем <timestamp>.html
    */
   $fp = fopen( time() . '.html', 'w');
   fwrite($fp, $output);
   fclose($fp);



Приблизительно так.
PM MAIL WWW ICQ   Вверх
Всемогущий
Дата 3.8.2006, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: 5
Всего: 13



пожалуйста подскажите 
чем отличается


Цитата(GiV @  3.8.2006,  18:17 Найти цитируемый пост)
 $output = ob_get_contents();

от функции fflush -- Сброс буфера вывода в файл

Эта функция форсирует запись всего буферизованного вывода в  ресурс, на который указывает дескриптор fp. Возвращает TRUE при успехе, FALSE - в ином случае.

Указатель файла обязан быть правильным и указывать на файл, успешно открытый функциями fopen(), popen() или fsockopen().


--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
adler
Дата 4.8.2006, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.8.2006

Репутация: нет
Всего: нет



Спасибо))
PM MAIL   Вверх
Alex13
Дата 4.8.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 30.12.2005
Где: Новосибирск

Репутация: нет
Всего: 1



Всемогущий, ob_get_contents() возвращает в переменную вывод в браузер пользователя, а fflush форсирует запись на диск данных, хранящихся в буффере файлового ввода-вывода.


--------------------
Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий.
Антисоциальный блог.
PM WWW ICQ Jabber   Вверх
adler
Дата 5.8.2006, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.8.2006

Репутация: нет
Всего: нет



Люди добрые, а не подскажите еще один ньюанс? smile 

У меня есть страничка (ьам php код прям в html вставлен):
Код

<?
ob_start();
?>
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
.....


<?
$output=ob_get_contents();
?>

<form method="POST" action="save_html.php">
<hr>
<input type="hidden" name="output" value="<?echo "$output"?>">
<input type=submit value="Cохранить" >
</form>


И почемуто вместо того,чтобы передаваться в скриптсохранения странички (save_html.php)  значение переменной $output выводится на экран((Не знаете в чем проблема? и можно ли решить данную задачку более элегантно?

PM MAIL   Вверх
Добряк
Дата 6.8.2006, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 2.8.2006

Репутация: нет
Всего: нет



Вот в этой строчке:
Код

<input type="hidden" name="output" value="<?echo "$output"?>">

Замени двойные кавычки на одинарные:
Код

<input type="hidden" name="output" value='<?echo "$output"?>'>

А насчёт элегантности не знаю... Ты просил, чтобы при нажатии на кнопочку передавались данные - вот они и передаются через форму.
PM MAIL   Вверх
vasac
Дата 6.8.2006, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 8
Всего: 36



Цитата(Добряк @  6.8.2006,  15:19 Найти цитируемый пост)
Замени двойные кавычки на одинарные:

1. Здесь и двойные должны работать.
2. Кавычки там вообще нафиг не нужны.
Код

<?php echo $output; ?>

Или вообще:
Код

<?=$output;?>


А вообще правильно:
Код

<?=htmlspecialchars($output);?>

PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0780 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.