上传zip存档时出现以下错误。
Warning: ZipArchive::extractTo(C:\xampplite\htdocs\testsite/wp-content/themes/mytheme//styles\mytheme/Thumbs.db) [ziparchive.extractto]: failed to open stream: Permission denied in C:\xampplite\htdocs\testsite\wp-content\themes\mythem\uploader.php on line 17
我无法想象的是,我没有在zip存档或创建的目标文件夹中看到thumbs.db文件(上传仍然处理,我只是得到这些错误)。
该功能如下,第17行被评论......
function openZip($file_to_open) {
global $target;
$zip = new ZipArchive();
$x = $zip->open($file_to_open);
if($x === true) {
$zip->extractTo($target); //this is line 17
$zip->close();
unlink($file_to_open);
} else {
die("There was a problem. Please try again!");
}
}
答案 0 :(得分:1)
看起来只是一个警告。我会忽略它。我打赌当它试图覆盖提取目录中的thumbs.db文件时会发生错误。
或者,使用getNameIndex
获取文件列表,过滤thumbs.db并使用extractTo
的第二个参数过滤文件。
http://www.php.net/manual/en/function.ziparchive-getnameindex.php http://www.php.net/manual/en/function.ziparchive-extractto.php
答案 1 :(得分:0)
这条道路全都搞砸了 C:\ Xampplite文件\ htdocs中\测试网站/可湿性粉剂内容/主题/ mytheme的//样式\ mytheme的/ thumbs.db的
我想这可能是Windows问题。
你能在第17行上面加一行说
echo $file_to_open; exit;
告诉我们您尝试上传文件时的内容?
答案 2 :(得分:0)
假设损坏的路径有效,那么目标目录中有一个thumbs.db(默认情况下是隐藏文件),和/或您的脚本没有写入该文件/目录的权限。当文件被另一个进程使用时,Windows在吐出“权限被拒绝”时非常大,而不是说“正在使用进程XXX”。