0

「files.zip」という名前の zip ファイルを作成しました。property_image フォルダー内に画像があります。そのディレクトリをスキャンしたところ、必要な種類のファイルがありました。「$prop_image」は、画像の名前を持つ別の配列です。画像ファイル (変数 '$file1' にある) がその配列にある場合、そのファイルを zip ファイルに追加しようとしています。

        $zip = new ZipArchive();
        $filename = "files.zip";

        if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
            exit("cannot open <$filename>\n");
        }

        $dir = './property_image';
        $file1 = scandir($dir);
        foreach($file1 as $feel){
            $userfile_extn = substr($feel, strrpos($feel, '.')+1);
            if($userfile_extn === 'jpg' || $userfile_extn === 'png' || $userfile_extn === 'gif' || $userfile_extn === 'jpeg'){
                if(in_array($feel, $prop_image)){

                    $zip->addFile("$feel", basename($feel));
                }

            } // end of if($extension ===
        }

        $zip->addFile("$File", basename($File));
        $zip->close();

このコードは、コードをコメントアウトした場合にのみ、その zip ファイルに「$File」を追加します。

$zip->addFile("$feel", basename($feel));

そのディレクトリから、zip ファイルの変数 '$prop_image' 内にあるファイルを追加する必要があります。

どうやってやるの?

4

1 に答える 1

0

私はそれを解決しました。

他の誰かに役立つかもしれないので、私は自分の答えを投稿しています。それは簡単でした。画像が保存されているフォルダー名を指定するだけです。

このような::

$zip->addFile("./property_image/$feel", basename($feel));

代わりに::

$zip->addFile("$feel", basename($feel));
于 2013-07-17T17:27:48.500 に答える