我試圖編寫一些PHP代碼在EC2服務器上的Linux機器上運行,它將從S3存儲桶中讀取文件,將它們壓縮並將zip文件重新寫入存儲桶。PHP ZipArchive狀態值的含義是什麼?
即時從EC2實例的本地磁盤上的某些圖像創建簡單的zip存檔,我已經立即遇到問題,我正在使用腳本在線測試PHP手冊中的想法,並且已經嘗試過來自David Walsh的劇本 - http://davidwalsh.name/create-zip-php看起來會很棒。既不結果在實際的壓縮文件,這兩種給我不同狀態結果 -
從php手冊(到我添加變量$ THISDIR)的第一個片段 -
<?php
$zip = new ZipArchive();
$filename = "test112.zip";
$thisdir = "/uploads/";
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}
$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();
?>
輸出=
numfiles:2種狀態:11
我沒有看到任何zip文件在我的 '上傳' 文件夾
代碼的第二位我嘗試(我不會張貼在這裏的代碼) - 我通過真實的文件,它返回
zip存檔包含的0
什麼是地位的2個文件狀態消息。我已經通過查看phpinfo()的輸出來檢查是否安裝了正確的庫。和ZIP標題下我看到 -
郵編啓用
擴展版本$編號:php_zip.c,V 1.1.2.43 2008/01/18 0時51分38秒pajoye精通$
郵編版本1.8.11
Libzip版本0.8.0兼容
我檢查與我執行代碼的文件PHP文件的權限和是我嘗試添加ziparchive到該文件夾它們被設置爲777。我知道,這不應該停留在777
任何想法,爲什麼我不能看到一個zip文件?狀態值是什麼意思?有沒有一個很好的教程可以使用PHP壓縮Amazon S3存儲桶上的文件?或者提供這種功能的好工具?
歡呼
你已經解決了問題?如果是的話,你能解釋一下嗎?我有同樣的麻煩... – 2012-03-21 17:24:36