ZipArchive :: getFromName не находит имя файла - PullRequest
1 голос
/ 27 сентября 2011

Есть идеи, что я здесь делаю не так? Он продолжает умирать до свидания. Внутри zip-архива находится файл index.php.

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

1 Ответ

2 голосов
/ 27 сентября 2011

Ну, первое, что вы должны сделать 1002 *, это убедиться, что вы открыли его в порядке, поскольку это также может дать сбой:

$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 для перечисления записей по одному, распечатывая их имена в процессе, что-то вроде:

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

И я , предполагая , чтоЯ бы потратил впустую свое время, чтобы сказать вам, чтобы проверить значение $source.Вы можете проверить, на всякий случай.

...