gpt4 book ai didi

PHP ZipArchive 不添加任何文件 (Windows)

转载 作者:可可西里 更新时间:2023-11-01 13:17:51 32 4
gpt4 key购买 nike

我什至无法将单个文件放入新的 zip 存档中。

makeZipTest.php:

<?php

$destination = __DIR__.'/makeZipTest.zip';
$fileToZip = __DIR__.'/hello.txt';

$zip = new ZipArchive();
if (true !== $zip->open($destination, ZIPARCHIVE::OVERWRITE)) {
die("Problem opening zip $destination");
}
if (!$zip->addFile($fileToZip)) {
die("Could not add file $fileToZip");
}
echo "numfiles: " . $zip->numFiles . "\n";
echo "status: " . $zip->status . "\n";
$zip->close();

zip 已创建,但为空。然而没有错误被触发。

出了什么问题?

最佳答案

似乎在某些配置中,PHP 在将文件添加到 zip 存档时无法正确获取 localname 并且必须手动提供此信息。因此,使用 addFile() 的第二个参数可能会解决这个问题。

ZipArchive::addFile

Parameters

  • filename
    The path to the file to add.
  • localname
    If supplied, this is the local name inside the ZIP archive that will override the filename.

PHP documentation: ZipArchive::addFile

$zip->addFile(
$fileToZip,
basename($fileToZip)
);

您可能需要调整代码以获得正确的树结构,因为 basename() 将从路径中删除除文件名之外的所有内容。

关于PHP ZipArchive 不添加任何文件 (Windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31956418/

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