0

今は午前 5 時ですが、調べてみましたが、この関数セットに関する情報はあまり見つかりません。これが私が持っているコードです(少し短縮されています):

<?php
$source = $_FILES["restore_file"]["tmp_name"];
$zip = zip_open($source);
while ($zip_entry = zip_read($zip)) {
    echo zip_entry_name($zip_entry).'\n';
}
?>

サンプルのzip出力をアップロードすると、次のようになります。

example/
example/index.php
example/file1.csv
example/file2.csv
example/file3.csv
etc.

ただし、これらのファイルの内容にアクセスする方法を知る必要があり、アクセスしているファイルを正確に指定できる必要もあります。たとえば、csv ファイルを調べる前に、アーカイブの index.php ファイル内の php 変数をチェックして、それが正しいことを確認する必要があります。

おそらくzip関数の代わりにZipArchiveクラスを使用する方が良いでしょうか? ただし、zip関数を使用すると、その場でファイルにアクセスできるため(ファイルを新しいディレクトリに転送する必要がないため)、より良いという印象を受けました。

4

1 に答える 1

0

を使用しZipArchive::getFromName()ます。あなたのケースに合わせたPHPマニュアルの例:

$zip = new ZipArchive();
if ($zip->open($_FILES["restore_file"]["tmp_name"]) === true) {
    echo $zip->getFromName('example/index.php');
    $zip->close();
} else {
    echo 'failed';
}
于 2011-09-25T21:09:01.270 に答える