我在提取从base64
数据创建的 zip 文件时遇到问题这是我的脚本
<?
$basedata = base64_decode($data['data']);
$f = fopen ("c:/xampp/htdocs/sms/basedata/data.zip","x+");
fwrite($f, $basedata);
fclose($f);
$zip = new ZipArchive();
$res = $zip->open('c:/xampp/htdocs/sms/basedata/data.zip');
if ($res === TRUE) {
// extract it to the path we determined above
$zip->extractTo("c:/xampp/htdocs/sms/basedata/extracted");
$zip->close();
echo "Success!";
} else {
echo "Failed!";
}
}
?>
首先,我zip
从fopen
andfwrite
命令创建文件,然后创建 Zip 文件
并且该 zip 文件的内容是名为 data 的文件,该文件实际上是xml
文件
该xml
数据来自解码的 base64 数据,然后编码为 zip
当我想用命令提取 zip 文件时$res = $zip->open('c:/xampp/htdocs/sms/basedata/data.zip');
,它无法运行,因为 zip 文件实际上不是 zip 存档
我认为 PHP 只能读取 zip 存档,而不是编码为 zip 的文件
任何人都可以帮助我吗?