php - Mac OS X 创建 zip 文件的权限

标签 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
}

非常感谢任何帮助。

谢谢。

最佳答案

您是否有权在 Mac 中对该文件夹进行写入?

尝试使用 fopen 而不是 ZipArchive。

关于php - Mac OS X 创建 zip 文件的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12058038/

相关文章:

linux - 设置 CRAMFS 文件系统的权限

php - PayPal IPN 沙箱无法正常工作但模拟器可以

php - 数组搜索的问题

php - 如何获取 SimpleXML 对象的第一个元素?

linux - linux 的 apache 是否以不同的用户身份处理 http 请求?

java - 无法解析方法 checkSelfPermission

java - 如何在安装了 Apache Tomcat 的 UNIX 机器上安装 PHP

swift - 在 Swift 中打开关闭的 NSWindow 会使应用程序崩溃

macos - 在 OSX 的多个终端选项卡中使用 docker/docker-machine

ios - 在 Cocoa KVO 中,为什么 NSMutableArray 代理的变化不通知观察者?