gpt4 book ai didi

php - 使用 zipArchive addFile() 不会将图像添加到 zip

转载 作者:可可西里 更新时间:2023-10-31 22:44:44 26 4
gpt4 key购买 nike

我在这方面已经有一段时间了。这实际上工作了一次,然后就再也没有了。它根本不会创建 zip 文件。该文件确实存在。

$zip = new ZipArchive();
$filename = "./test" . time() .".zip";

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}

$thisdir = "$_SERVER[DOCUMENT_ROOT]/zip";
$zip->addFile($thisdir . "/trash-icon.png", "/gabage.png");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();

如果我添加类似的东西

$zip->addFromString("testfilephp.txt", "#1 This is a test string added as testfilephp.txt.\n"); 

它会创建一个包含 txt 文件的 zip 文件.. 但不允许任何类型的现有文件。

最佳答案

ZipArchive::addFile() 方法接受文件的路径作为其第一个参数,但并非所有路径都是相同的。 addFile() 方法默默地拒绝文件,你永远不知道哪里出了问题。从问题中可以得出,另一种方法是:

// $zip->addFile($file);
$content = file_get_contents($file);
$zip->addFromString(pathinfo ( $file, PATHINFO_BASENAME), $content);

除了让代码正常工作之外,file_get_contents() 还会生成不错的错误消息。

关于php - 使用 zipArchive addFile() 不会将图像添加到 zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5422983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com