これは初めてPHPでZIPファイルを作成しようとしています。PHPでZipファイルを作成しますか?
私がやっていることは、PHPが特定のディレクトリ内のファイルを検索し、それらをすべて取得してZIPファイルに保存することです。 zipファイルは、ファイルをブラウザにダウンロードしてダウンロードします。私は非常に近いですが、私は特定の部分で立ち往生しています。クローズしようとしたとき、私は「閉じることはできません」というエラーを取得しています
$zip = new ZipArchive();
if ($zip->open('test.zip', ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive"); }
$myDirectory = opendir("../folder/plugins/".$id."");
while($entryName = readdir($myDirectory)) { $dirArray[] = $entryName; }
closedir($myDirectory);
$indexCount = count($dirArray);
sort($dirArray);
for($index=0; $index < $indexCount; $index++) {
if (substr("$dirArray[$index]", 0, 1) != "."){
$file = "".$myDirectory."".$dirArray[$index].".zip";
$zip->addFile($file, $file) or die ("cant add file"); ;
echo $dirArray[$index]; echo '</br>';
}}
$zip->close()or die("cant close");
:
は、ここに私のコードです。ここで私を助けてください、私は自分のコードで間違っているものを見つけることができません。
filename1.png
filename2.png
can't close
:)
あなたはgetStatusString' 'によって返されたエラー文字列で見たことがありますか? –
一般に、いくつかのコードの改良点は、 '$ zip-> addFile($ file、$ file)またはdie(" cant add file ")です。 $ file = ""。$ myDirectory "。$ dirArray [$ index]。"。zip ";"は、$ file = "$ {myDirectory} $ {dirArray [$ index]} .zip'です。一般に、読みやすさのために 'echo $ dirArray [$ index]; echo '';'のように1行にコード行を組み合わせることはお勧めできません。 –