【发布时间】:2014-07-25 17:33:19
【问题描述】:
我有一些 php 代码需要一个 zip 文件,将其解压缩到 ../images/galleries/foldername/zipfilename 中,现在我正在尝试将提取的文件重新提取到文件夹名称文件夹中,我正在更改两个文件夹和每个文件的权限都被提取并且文件仍然不会复制:(
我没有收到任何错误,即使打开了错误。
$zip = new ZipArchive();
if ($zip->open($path) === true) {
for($i = 0; $i < $zip->numFiles; $i++) {
$zip->extractTo('../images/galleries/' . $galleryName, array($zip->getNameIndex($i)));
}
$zip->close();
chmod('../images/galleries/' . $galleryName . '/' . $name[0], 0777);
chmod('../images/galleries/' . $galleryName, 0777);
foreach(glob('../images/galleries/' . $galleryName . '/' . $name[0] . '/*') as $image){
chmod($image, 0777);
copy($image, '../images/galleries/' . $galleryName . '/');
}
}
做错了什么?截至目前,zip 已上传,文件被提取到文件夹名称中,并使用该文件夹中的项目创建另一个文件夹,我真的需要在文件夹名称中获取这些项目。
我正在通过error_reporting(E_ALL);打开我的 php 错误
权限正在更改为 0777
或者如果有人知道更好的方法来更好地使用 extractTo,所以图像在文件夹名称而不是 zipfilename 中
【问题讨论】:
-
一般情况下,您不能授予自己缺少的权限。这就像能够获得任何锁的钥匙一样。
-
顺便说一句,您如何验证错误已打开?您设置了哪些 PHP 指令,您如何知道更改是否有效?
-
文件夹和文件的权限正在更改为0777
-
那么您很可能可以访问这些文件和文件夹,并且不需要更改它们的文件系统位。
-
除非您已经拥有该文件,否则
chmod($image,0777)无法工作。您需要目标文件夹的权限。您的服务器配置可能会拒绝访问,而不仅仅是文件系统权限。
标签: php