我有一个包含html内容的变量$html
和一个包含pdf内容$pdf
的变量。
我可以使用$zip->addFile($file,$file);
创建zip文件
其中$ file是磁盘上的文件
但是,我想用变量中的内容创建zip文件,而不必先将它们写入磁盘。我该怎么做?
我已经在数据库中存储了$ html和$ pdf as-is。压缩它们可以帮助我节省数据库中的一些空间。
我的下一个问题很可能是如何在不先将内容解压缩到磁盘的情况下解压缩内容,但让我们看看。
答案 0 :(得分:5)
从$zip->addFile($file,$file);
我猜你正在使用ZipArchive PHP扩展。您可以使用方法addFromString()
$zip->addFromString('file.html', $html_data);
$zip->addFromString('file.pdf', $pdf_data);
另见:http://nl3.php.net/manual/en/function.ziparchive-addfromstring.php
答案 1 :(得分:1)
当您存储到数据库并从中检索时,您可以使用MySQL COMPRESS
和UNCOMPRESS
函数。
答案 2 :(得分:1)
由于我使用的是php,我发现这是最好的解决方案。
$html="<h1>Contains HTML</h1>";
$ziphtml=gzcompress($html,9);
$statement=mysql_query("INSERT into TABLE (field) VALUES ('$ziphtml')",$db);
然后使用gzuncompress