我有个Zip文件。我用ZipArchive php库打开它,在里面添加了一个目录和一个文件。当我用ubuntu的默认解压工具解压它时,一切都像预期的一样。但是当我在OS X Snow Leopard (使用默认的Keka和unarchiver尝试)上解压它时,新目录的权限是700。预期权限为755。
所以,这是原始的压缩包:
DIRECTORY
a.txt
b.txt下面是我的代码:
<?php
$file = 'example.zip';
$zip = new ZipArchive;
$res = $zip->open($file, ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addEmptyDir('DIRECTORY/NEW_DIR');
$zip->addFromString('DIRECTORY/NEW_DIR/c.txt', 'hellooo');
$zip->close();
}
else {
print 'error';
}结果是:
DIRECTORY -> NEW_DIR -> c.txt
a.txt
b.txt这是正确的,但如果我在osx下解压,NEW_DIR目录的权限是700 (drwx-)而不是755。如何修复它?
谢谢!
编辑:
以下是有关我的zip中文件的zipinfo:
$ zipinfo -l test.zip
(..)
drwxr-xr-x 3.0 unx 0 bx 0 stor 13-Dec-11 17:43 DIRECTORY/
-rw-r--r-- 3.0 unx 533 tx 327 defN 3-Nov-11 01:50 a.txt
-rw-r--r-- 3.0 unx 91669 tx 32044 defN 3-Nov-11 01:09 b.txt
-rw---- 0.0 fat 0 b- 2 defN 13-Dec-11 18:12 DIRECTORY/new_dir/
-rw---- 0.0 fat 7 b- 9 defN 14-Dec-11 10:30 DIRECTORY/new_dir/c.txt发布于 2011-12-14 01:33:33
如果您拥有必要的安全特权,则可以执行以下操作
<?php
exec("chmod -R 755 /directory/new_dir");https://stackoverflow.com/questions/8493423
复制相似问题