1

私がここで間違っていることについて何か考えはありますか?「さようなら」で死に続けます。zipアーカイブ内にindex.phpファイルがあります。

$zip = new ZipArchive;
$zip->open($source);
$test = $zip->getFromName('index.php');
if(!$test) {
    die('bye bye');
} else {
    die($test);
}
4

2 に答える 2

3

最初に行うべきことは、問題なく開いていることを確認することです。これも失敗する可能性があるためです。

$zip = new ZipArchive;
$rc = $zip->open($source);
if ($rc === TRUE) {
    $test = $zip->getFromName('index.php');
    $zip->close();
    if(!$test) {
        die('bye bye');
    } else {
        die($test);
    }
} else {
    die("could not open: " . $rc);
}

それ以外は、ファイル仕様が正しいことを完全に確認してください。必要に応じて、 を使用getNameIndexしてエントリを 1 つずつ列挙し、その過程で名前を次のように出力できます。

$zippy = new ZipArchive();
$zippy->open($source);
for ($i = 0; $i < $zippy->numFiles; $i++) {
    echo $zippy->getNameIndex($i) . '<br />';
}
$zippy->close();

そして、 のを確認するように言って時間を無駄にしていると思います$source。念のため確認しておくといいかもしれません。

于 2011-09-27T07:08:11.017 に答える