3

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

我正在运行 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
}

任何帮助是极大的赞赏。

谢谢。

4

1 回答 1

-1

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

尝试使用 fopen 而不是 ZipArchive。

于 2012-08-22T23:56:06.050 回答