在互联网上搜索找到答案后,我决定直接寻求帮助。
我正在运行 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
}
任何帮助是极大的赞赏。
谢谢。