Mac OS X创建zip文件的权限

时间:2012-08-21 15:14:42

标签: php macos permissions apache2

在搜索互联网后找到答案我决定直接寻求帮助。

我正在运行mac os x 10.7,PHP,Apache和MySQL。我试图让用户从表单中选择文件将它们压缩并发送给个人。起初PHP甚至无法创建文件。我找到了以下内容:

sudo chmod -R +a "_www allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" ~/Sites 

这让我可以创建一个文件。但是当我尝试创建一个zip时,我会在末尾附加一些未知的扩展名,并且正在创建2个文件。所以不知道出了什么问题我以为我会通过打开目录并强行将其重命名为* .zip来找到该文件。我手动重命名后检查了文件,似乎没问题。

我收到以下错误:

Warning: rename(tmp/RosenData082112-1102.zip.ohoKRw,RosenData082112-1102.zip) [function.rename]: Permission denied in /Users/mmcri/Sites/rosenlab/download.php on line 42

ls -le reveals this to the files:
-rw-------+ 1 _www  staff  43775 Aug 21 11:02 RosenData082112-1102.zip.1qJUE4
 0: user:_www inherited allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
-rw-------+ 1 _www  staff  43775 Aug 21 11:02 RosenData082112-1102.zip.ohoKRw
 0: user:_www inherited allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity

以下是制作zip文件的PHP代码部分:

if(extension_loaded('zip'))
{ 
   $zip = new ZipArchive();
   $zipname = "RosenData".date("mdy-Hi").".zip";

   if($zip->open($direct.$zipname, ZIPARCHIVE::CREATE) === TRUE)
   {
       foreach($filelist as $file)
            $zip->addFile($path.$file,$file) or die ("Error adding file: $file");
       $zip->close();
}
 // Random stuff below
}

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:-1)

您是否有权在Mac上写该文件夹?

尝试使用fopen而不是ZipArchive。