好的。每个文件都存在、可读和可写。ZIP 不会产生错误,并输出:“numfiles: 140 status:0”。
该代码读取日志,检查特定文本,然后将大量图像导入 zip 文件夹。一切运行良好,除了 zip 文件夹总是空的。我已经阅读了很多关于此的线程,它们都通过更改权限、修改路径和检查读/写/存在/错误来解决。但是...没有任何效果。这是怎么回事?
<?php
$file = fopen("log.log", "r") or exit("Unable to open file!");
$zip = new ZipArchive();
$filename = "E:/Web Sites/whatever/order_stream/images.zip";
$try_file = $zip->open($filename,ZIPARCHIVE::OVERWRITE);
if ($try_file !== true) {
exit("cannot open <$filename>\n");
}
while(!feof($file)) {
$line = fgets($file);
$results = explode(": ", $line);
if ($results[0] == "Copying" || $results[0] == "File already exists, overwriting") {
$file_name = substr($results[1],19);
$to_zip = "E:/Web Sites/whatever/catalog/pictures/".$file_name;
$to_zip = trim($to_zip);
if (file_exists($to_zip)) {
$zip->addFile($to_zip);
}
}
}
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
fclose($file);
?>