php ZIP 的模块目前是只读的,只能解压,不能压缩。
不过使用 zlib,bz2 模块可以给文件打包。也就是 Unix/Linux 等常用 tar, gz, bz2 package.
如果要用的话,可以使用 PEAR 中的 Archive_Tar 模块
提供了完成的 Tar.gz 文件的打包,解包功能。
$zip = zip_open("D:\\Develop\\temp\\test2.zip");if ($zip) {
while ($zip_entry = zip_read($zip)) {
echo "Name: " . zip_entry_name($zip_entry) . "<br>\n";
echo "Actual Filesize: " . zip_entry_filesize($zip_entry) . "<br>\n";
echo "Compressed Size: " . zip_entry_compressedsize($zip_entry) . "<br>\n";
echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "<br>\n"; if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); // File content $fp = fopen(zip_entry_name($zip_entry), 'wb');
fwrite($fp, $buf);
fclose($fp); zip_entry_close($zip_entry);
}
echo "<br><br>\n\n";
} zip_close($zip);
}
不过使用 zlib,bz2 模块可以给文件打包。也就是 Unix/Linux 等常用 tar, gz, bz2 package.
如果要用的话,可以使用 PEAR 中的 Archive_Tar 模块
提供了完成的 Tar.gz 文件的打包,解包功能。
$zip = zip_open("D:\\Develop\\temp\\test2.zip");if ($zip) {
while ($zip_entry = zip_read($zip)) {
echo "Name: " . zip_entry_name($zip_entry) . "<br>\n";
echo "Actual Filesize: " . zip_entry_filesize($zip_entry) . "<br>\n";
echo "Compressed Size: " . zip_entry_compressedsize($zip_entry) . "<br>\n";
echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "<br>\n"; if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); // File content $fp = fopen(zip_entry_name($zip_entry), 'wb');
fwrite($fp, $buf);
fclose($fp); zip_entry_close($zip_entry);
}
echo "<br><br>\n\n";
} zip_close($zip);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货