Я могу получить код PHP для распаковки файла, работающего в Linux, но не в Windows 10 - PullRequest
0 голосов
/ 19 мая 2019

Я не совсем уверен, что это проблема кодирования, поэтому я опишу свою среду Windows, на всякий случай: система - это Windows 10 Pro x64 build 1809, у меня установлена ​​XAMPP windows x64 7.2.18-0-VC15.На XAMPP у меня PHP версии 7.2.18.

Следующий код PHP выполняется нормально, когда я пытаюсь в Linux (взяла его из Stackoverflow):

function unzip_db($filename) {  
    $zip = new ZipArchive;  
    $res = $zip->open($filename);   
    if($res === TRUE)   {       
        $zip->extractTo('./');      
        $zip->close();      
        echo 'File is now uncompressed...';     
    }   else    {       
    echo "Can't open ".$filename;
    echo $res;
    }
}

КогдаЯ пытаюсь запустить его под Windows этот код всегда не проходит тест if($res === TRUE) Теперь я не уверен, что делать: я проверяю вывод phpinfo(); говорит о ZIP: Zip включен, Zip версия: 1.15.4, Libzip версия: 1.4.0, это может означать, что у меня в PHP есть поддержка ZIP, и я делаю что-то не так.Я также нашел и скачал php_zip.dll (из https://pecl.php.net/package/zip/1.15.4/windows) и добавил строку extension=php_zip.dll в файл php.ini, но ничего не изменилось. У меня закончились идеи, и я до сих пор не знаю, есть ли у меняпроблемы с кодированием или конфигурацией среды, или что ... Есть предложения?

1 Ответ

0 голосов
/ 20 мая 2019

Мы можем закрыть этот вопрос. Я обнаружил, что после того, как я заархивировал тестовые файлы и загрузил их в Linux, я загрузил их обратно в Windows box.Именно эти файлы создают проблему с PHP.Странно, что я все еще могу открыть их с помощью 7zip, но я не могу открыть их с помощью встроенного в Windows разархиватора.Даже когда я загружаю эти файлы обратно в Linux, я могу разархивировать их с помощью PHP.Кажется, есть разница между реализацией ZIPlibraries в Linux и Windows, , но это не причина проблем .Поэтому я должен выяснить, что происходит при загрузке / загрузке файлов, но это выходит за рамки этого вопроса.Спасибо за ваш вклад.Это помогло мне разобраться, и я смог определить, в чем заключается проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...