Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сохранение ответа сервера в локальном файле
 
 автор: Spartak   (11.09.2010 в 12:03)   письмо автору
 
 

Уважаемые программисты!
У меня есть такая задача - при клике на кнопке запускается скрипт и результат его работы предлагается юзеру сохранить на диск в html-файле. У меня скрипт генерирует все что нужно но результат посылает в браузер а не предлагает юзеру сохранить в файл на диске...Может кто-нибудь сталкивался с подобной задачей, подскажите пожалуйста как можно сделать. Благодарю заранее!

  Ответить  
 
 автор: Trianon   (11.09.2010 в 15:45)   письмо автору
 
   для: Spartak   (11.09.2010 в 12:03)
 

тип содержимого должен быть указан как application/octet-stream

  Ответить  
 
 автор: Spartak   (11.09.2010 в 17:34)   письмо автору
 
   для: Trianon   (11.09.2010 в 15:45)
 

Спасибо. Это надо в функции header() писать? А можно ли с помощью яваскрипта такое сделать если при нажатии на кнопку на клиенте генерируется содержимое и предлагается сохранить в html-файле?

  Ответить  
 
 автор: Trianon   (11.09.2010 в 18:10)   письмо автору
 
   для: Spartak   (11.09.2010 в 17:34)
 

клиентские скрипты не имеют права записывать файлы локально.

  Ответить  
 
 автор: Spartak   (13.09.2010 в 13:04)   письмо автору
 
   для: Trianon   (11.09.2010 в 18:10)
 

Сделал как Вы сказали, но результат работы скрипта сохраняется в файле с расширением .рнр...А можно ли чтобы сохраняло с расширением .html?

  Ответить  
 
 автор: sim5   (13.09.2010 в 13:05)   письмо автору
 
   для: Spartak   (13.09.2010 в 13:04)
 

Можно, если укажите имя под которым надо сохранить.

  Ответить  
 
 автор: Spartak   (13.09.2010 в 13:31)   письмо автору
 
   для: sim5   (13.09.2010 в 13:05)
 

<?php
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="form.html"');
echo 'this content will be saved in local file form.html';
?>

Так работает. Спасибо!
Интересно есть ли другие варианты...?

  Ответить  
 
 автор: sim5   (13.09.2010 в 13:38)   письмо автору
 
   для: Spartak   (13.09.2010 в 13:31)
 

Варианты чего?

  Ответить  
 
 автор: Spartak   (13.09.2010 в 13:45)   письмо автору
 
   для: sim5   (13.09.2010 в 13:38)
 

как реализовать сохранение ответа сервера в файле

  Ответить  
 
 автор: sim5   (13.09.2010 в 13:49)   письмо автору
 
   для: Spartak   (13.09.2010 в 13:45)
 

Есть - попросить пользователей настроить свои браузеры так, чтобы все не открывалось, а сохранялось в файл.

PS. Хотя, если говорить серьезно, то вы можете Апач настроить так, что определенным типам файлов он будет указывать соответствующий заголовок, что определит поведение браузера. Но... Откройте настройки Опера, например, и посмотрите раздел загрузок - вы не найдете там octet-stream, пока не уберете галочку "Скрывать типы, открываемые в Опера", и по умолчанию, эта дурная Опера (не помню с какой версии) грузит .exe файлы в свое окно...
С русскими именами файлов разные браузеры поступают тоже по разному (в зависимости от кодировки - win 1251 или utf).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования