php - ZipArchive::close():重命名临时文件失败:权限被拒绝

标签 php file zip ziparchive

当我尝试删除压缩目录中的文件时,我遇到了这个奇怪的错误:

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/

相关文章:

php - 如何从 PHP 数组中检索值?

c++ - 逐行读取文件

node.js - NodeJS : create zip, 但在磁盘上,不在内存中

python - 创建 zip 存档以供即时下载

php - 在 PHP 中以编程方式编辑 PDF 文件

php - 在php中合并两个formvars

php - 为什么codeigniter不保存SVG图像?

c - 如何读取文本文件到 C 中的特定位置?

javascript - 从使用 $http 从服务器下载的原始文件创建 Blob 对象。

c# - DotNetZip 保存位置