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

Ваш аккаунт

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

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

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

PHP: Из .txt в .gz на лету и скачать...

2.0K
19 декабря 2005 года
Junkers
47 / / 21.02.2004
На сайте есть текстовые файлы, которые инклюдятся в страницы и выводятся в броузер. Есть также RAR-архивы этих файлов для того, чтобы не копировать их с экрана, а скачать. Так вот, эти архивы съедают порядочное кол-во мегабайтов на сервере. Подумал: а можно ли как-нибудь, кликнув по ссылке "Скачать", взять нужный файл .txt, запаковать его GZip`ом и отправить в броузер под видом скачиваемого? Если такое возможно, то, если не в облом, плиз, разложите по полочкам - в какие функции смотреть и какие заголовки где писать? Заранее благодарен.
4.7K
20 декабря 2005 года
Extractor
151 / / 26.08.2005
можно использовать, где число уровень компрессии -
header("Content-Encoding: gzip");
ob_start(array('ob_gzhandler',9));

Note:
You cannot use both ob_gzhandler() and ini.zlib.output_compression. Also note that using ini.zlib.output_compression is preferred over ob_gzhandler().
===============================================
 
Код:
$zd = gzopen ($FileName, "r");
$contents = gzread ($zd, filesize($FileName));
gzclose ($zd);

читает из гзип-файла
===============================================
читай - Функции сжатия Zlib... Поддержка Zlib при стандартной сборке PHP отсутствует.
1.9K
21 декабря 2005 года
kasap
168 / / 07.04.2005
Цитата:
Originally posted by Extractor
можно использовать, где число уровень компрессии -
header("Content-Encoding: gzip");
ob_start(array('ob_gzhandler',9));

Note:
You cannot use both ob_gzhandler() and ini.zlib.output_compression. Also note that using ini.zlib.output_compression is preferred over ob_gzhandler().
===============================================
 
Код:
$zd = gzopen ($FileName, "r");
$contents = gzread ($zd, filesize($FileName));
gzclose ($zd);

читает из гзип-файла
===============================================
читай - Функции сжатия Zlib... Поддержка Zlib при стандартной сборке PHP отсутствует.



Вот заголовки которыми я пользуюсь:

Header("Content-type: application/force-download");
Header("Content-Length: ".filesize($file_path));
Header("Content-Disposition: attachment; filename=$fname");

2.0K
21 декабря 2005 года
Junkers
47 / / 21.02.2004
Цитата:
Originally posted by kasap
Вот заголовки которыми я пользуюсь:

Header("Content-type: application/force-download");
Header("Content-Length: ".filesize($file_path));
Header("Content-Disposition: attachment; filename=$fname");



Что-то туплю...

1) Открываю файл file.txt
2) Считываю его содержание в $content
3) Закрываю файл file.txt

Дальше - варианты

4) Создаю файл file.gz
5) Записываю туда $content
6) Закрываю файл file.gz
7) В броузер вывожу ссылку на file.gz

При таком раскладе файл создается на диске и его потом надо убирать либо unlink(), либо вручную.

Либо вот такой вариант

4) Сжимаю $content функцией gzcompress()
P( ... а дальше что?

Может, я неверно сформулировал вопрос? Мне нужно, чтобы файл НЕ СОЗДАВАЛСЯ! И еще: куда пристроить эти заголовки?

Сорри за тупизм.

4.7K
22 декабря 2005 года
Extractor
151 / / 26.08.2005
Код:
$FileName = "myfile.txt";
$data = implode("", file(dirname(__FILE__)."/".$FileName));
$gzdata = gzencode($data, 9);

header("Content-Type: application/x-zip-compressed");
header("Content-Type: application/octet-stream");
header("Content-Type: application/force-download");
header("Content-Type: application/download");
header('Content-Disposition: attachment; filename="'.$FileName.'.zip"');
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".strlen($gzdata));

echo $gzdata;

так пойдет?
4
22 декабря 2005 года
mike
3.7K / / 01.10.2002
Content-Type должен быть только один !! Я бы оставил Content-Type: application/octet-stream

Не ставьте уровень компрессии - 9, максмум - 3, уровень сжатия почти не повышается, (обычно менее 1%) но вот нагрузка на сервер, еще как

И вот еще:
http://www.codenet.ru/webmast/php/Gzip-PHP-Apache.php
4.7K
22 декабря 2005 года
Extractor
151 / / 26.08.2005
согласен
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог