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

ZipArchive::close(): Renaming temporary file failed: Permission denied in /MyDirectory/myphpscript.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成功执行并打印文件已删除.我正在运行Mac,并且读取了压缩目录的权限.为所有用户写.可能是什么问题?

解决方法:

正如错误告诉您的那样,这是一个权限问题.确保apache用户(www-data)对zip存档所在的目录具有写权限.

之后,您的代码将按预期工作.

祝好运 !

标签:php,file,zip,ziparchive

来源: https://codeday.me/bug/20190627/1308002.html

更多推荐