我正在尝试读取zip文件并且它工作正常.现在我想获取zip文件的内容(图像),但是图像失真了。这是我的代码片段:
while ($zip_entry = zip_read($zip))
{
echo "<p>";
echo "Name: " . zip_entry_name($zip_entry) . "<br />";
if (zip_entry_open($zip, $zip_entry))
$contents = zip_entry_read($zip_entry);
$name=zip_entry_name($zip_entry);
file_put_contents('uphoto/'.$i.'.jpg',$contents);
}
您可以尝试创建一个新图像:
$i = 0;
while ($zip_entry = zip_read($zip))
{
$content = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
$image = imagecreatefromstring($content);
$filename = 'uphoto/'.$i++.'.jpg';
imagejpeg($image, $filename);
imagedestroy($image);
echo '<img src="data:image/jpeg;base64,' . base64_encode($content) . '"><br />';
}
我使用 zip_entry_filesize() 来定义使其工作所需的内容大小。
当您
在图像数据中插入 br/> 时
echo '<img src="data:image/jpeg;base64,' . base64_encode($content) . '"><br />';