Zip HTML / PDF, хранить как Blob - PullRequest
       6

Zip HTML / PDF, хранить как Blob

2 голосов
/ 26 августа 2010

У меня есть переменная, которая содержит html-содержимое, $html и переменную с pdf-содержимым $pdf.

Я могу создавать zip-файлы, используя $zip->addFile($file,$file); где $ file - файл на диске Тем не менее, я хочу создать zip-файлы с содержимым из переменных, без предварительной записи их на диск. Как мне это сделать?

Я уже храню $ html и $ pdf как есть в БД. Сжатие их поможет мне сэкономить место в моей БД.

Мой следующий вопрос, скорее всего, будет о том, как разархивировать содержимое, не разархивировав его сначала на диск, но давайте посмотрим.

Ответы [ 3 ]

5 голосов
/ 26 августа 2010

С $zip->addFile($file,$file); Полагаю, вы используете расширение ZipArchive PHP. Вы можете создавать файлы в Zip-архиве, используя метод addFromString()

$zip->addFromString('file.html', $html_data);
$zip->addFromString('file.pdf', $pdf_data);

Также см .: http://nl3.php.net/manual/en/function.ziparchive-addfromstring.php

1 голос
/ 30 августа 2010

Поскольку я использую php, я обнаружил, что это лучшее решение.

$html="<h1>Contains HTML</h1>";

$ziphtml=gzcompress($html,9);

$statement=mysql_query("INSERT into TABLE (field) VALUES ('$ziphtml')",$db);

, а затем распаковка при чтении поля с помощью gzuncompress

http://php.net/manual/en/function.gzcompress.php

1 голос
/ 26 августа 2010

Вы можете использовать функции MySQL COMPRESS и UNCOMPRESS при сохранении и извлечении из базы данных.

...