2016-09-09 17 views
0

私は問題があります。フォルダからzipファイルを作成する方法 - php

私はインターネットで解決策を探しましたが、何もうまくいきません。私は、フォルダからファイルを取り出し、それらをzipアーカイブに投げ出すスクリプトを作ろうとしています。 しかし、それは動作しません..

私は別のパスを試してみましたが、それは私だけ混乱して何も来ていません。ここで

は私に応じて最も簡単であるとworkbutはそれをしない必要があり、現在のコードが..です

あなたは私を助けることができますか?

function archivebackup(){ 
    $zip = new ZipArchive; 
    if ($zip->open('Mail.zip', ZipArchive::CREATE) === TRUE){ 

     foreach (new DirectoryIterator('Mails/') as $fileInfo) { 
      $fileName = $fileInfo->getFilename(); 
      // echo $fileName ."<br>"; 
      $zip->addFile($fileName); 
     } 

     $zip->close(); 
    } 
} 
+2

あなたはどのようなエラーメッセージを取得しています?

は、次の操作を行いますかどのように動作していないのですか? –

+0

まず、明らかな質問ですが、PHPでZIPサポートが有効になっていますか? – apokryfos

+0

私は誤りがありません。スクリプトはアーカイブに何も追加しません。 そして、私はプログラムがファイルの名前を取得することを知っています。 – Mafika

答えて

1

それだけでパスなしでファイル名を返し、あなたの現在の作業ディレクトリ内のファイルとgetFilename()含めていないようです。

function archivebackup(){ 
    $zip = new ZipArchive; 
    if ($zip->open('Mail.zip', ZipArchive::CREATE) === TRUE){ 

     foreach (new DirectoryIterator('Mails/') as $fileInfo) { 
      if (in_array($fileInfo->getFilename(), [ ".", ".." ]) { continue; } 
      $fileName = $fileInfo->getPathname(); 
      $zip->addFile($fileName); 
     } 

     $zip->close(); 
    } 
} 
+0

ありがとう:) – Mafika

関連する問題