我有一个表单,用户可以在其中上传 100 mb 文件,这会导致上传延迟,因此我决定先在表单提交时压缩图像,然后将其上传到服务器上,然后在服务器上提取它。以便加载过程减少,因此为此我使用了如下脚本:
<?php
$zip = new ZipArchive();
$filename = "newzip.zip";
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}
$zip->addFromString("myfile.jpeg",
"This is the first file in our ZIP, added as
firstfile.txt.\n");
echo "numfiles: " . $zip->numFiles . "\n";
$zip->close();
$zip1 = zip_open("newzip.zip");
if ($zip1) {
while ($zip_entry = zip_read($zip1)) {
$fp = fopen(zip_entry_name($zip_entry), "w");
if (zip_entry_open($zip1, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
fwrite($fp,"$buf");
zip_entry_close($zip_entry);
fclose($fp);
}
}
zip_close($zip1);
unlink("newzip.zip");
}
?>
现在,从上面的代码中,我得到了提取的图像,但提取后图像的大小减少到 61 个字节并且已损坏,即无法查看。
这段代码有什么问题请指导我