在过去的一个小时里,我一直在搜索、添加和失败如何解压缩文件。我经常使用 php 下载 zip。我需要将 zip 的内容提取到一个名为 zips 的文件夹中,这并不重要(只是不是同一个目录)。如果这有什么不同的话,我正在使用具有无限空间和带宽的共享主机。
我下载的 zip 是 1 个 zip,里面有 5 个 zip,这 5 个 zip 中的每一个都有 1 个 csv。我需要读取每个 csv 并将信息存储到数据库中,我已经有了代码,但我无法打开任何 zip 文件。
我已经尝试了以下代码,但我对其中任何一个都没有运气。我也尝试了 php.net 上的解压缩功能,但也没有运气。
有什么建议么?
$local_file = '_08222012_213000.zip';
$zip = zip_open($local_file);
if (is_resource($zip)) {
while ($zip_entry = zip_read($zip)) {
$fp = fopen(zip_entry_name($zip_entry), "w");
if (zip_entry_open($zip, $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($zip);
}
这个也不起作用:
$zip = new ZipArchive;
$res = $zip->open($local_file);
if ($res === TRUE) {
$zip->extractTo('zips/');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
}
编辑:如果将来有其他人遇到问题,我可以使用此代码。
//Change directory
chdir("zips/");
exec("unzip ./$local_file");