Прочитайте php файл, расположенный в zip-архиве - PullRequest
0 голосов
/ 13 января 2019

Я пытался прочитать файл PHP внутри ZIP-архива. Я кодировал следующий код, который может читать текстовые документы и выводить эхо без ошибок, но когда я тестировал его с файлом PHP, ничего не появлялось. Так что я могу сделать, чтобы прочитать файл PHP без распаковки?

<?php
$zip = zip_open("test.zip");
$filename= "test.php";

if (is_resource($zip))
{
while ($zip_entry = zip_read($zip))
{
    if (zip_entry_open($zip, $zip_entry) && zip_entry_name($zip_entry) == $filename)
    {
        echo "Name: " . zip_entry_name($zip_entry) . "<br />";
        echo "<p>";
        echo "File Contents:<br/>";
        $contents = zip_entry_read($zip_entry);
        echo "$contents<br />";
        zip_entry_close($zip_entry);
    }
}
zip_close($zip);
}

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 13 января 2019

Вы можете использовать потоковые оболочки для чтения файла непосредственно из zip-файла, в одну строку, без извлечения чего-либо на диск. Например:

$str = file_get_contents('zip://test.zip#test.php');
0 голосов
/ 13 января 2019

Существует не так много ресурсов для использования функции php zip_read () по умолчанию, но эта https://github.com/Ne-Lexa/php-zip библиотека позволяет легко использовать zip-файлы в php, вы должны проверить это.

...