当我尝试删除压缩目录中的文件时,我遇到了这个奇怪的错误:
ZipArchive::close(): Renaming temporary file failed: Permission denied in /MyDirectory/myphpscript.php
这是我的代码:
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$compressedDirectoryPath = '/Users/Shared/SampleZip.zip';
$zip = new ZipArchive();
if ($zip->open($compressedDirectoryPath) === true) {
if ($zip->deleteName('SampleZip/samplefile.txt') === true) {
echo 'File deleted';
}
}
$zip->close(); // the error is pointing here
?>
echo
成功执行并打印File deleted
。我运行的是 Mac,所有用户对压缩目录的权限都是 read & write
。可能是什么问题?
最佳答案
正如错误告诉您的那样,这是一个权限问题。确保 apache 用户 (www-data
) 对 zip 存档所在的目录具有写入权限。
之后,您的代码将按预期工作。
祝你好运!
关于php - ZipArchive::close():重命名临时文件失败:权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42739599/