Здравствуйте, я использую приведенный ниже код для загрузки .zip-файла с сервера, я действительно получаю файл, однако я пытаюсь разархивировать его в папку в том же файле php , но когда я бегу мой сценарий он загружает файл, то это выход я получаю:Как извлечь .zip с php
Это выход я получаю:
File Opening Successful
Warning: ZipArchive::extractTo() [ziparchive.extractto]: Invalid or unitialized Zip object in /home/content/38/10376438/html/viptravelink/xml/xml3.php on line 48
Warning: ZipArchive::close() [ziparchive.close]: Invalid or unitialized Zip object in /home/content/38/10376438/html/viptravelink/xml/xml3.php on line 49
Uncompression Successful
Это сценарий, я использую:
<?php
/*
* XML Sender/Client.
*/
$xmlRequest = '<?xml version="1.0" encoding="utf-8"?>
<Request> <Source><RequestorID Client="***" EMailAddress="[email protected]***.com" Password="***" /> <RequestorPreferences Language="en" Currency="USD"> <RequestMode>SYNCHRONOUS</RequestMode> </RequestorPreferences> </Source> <RequestDetails> <ItemInformationDownloadRequest ItemType="hotel">
<IncrementalDownloads>
</IncrementalDownloads>
</ItemInformationDownloadRequest> </RequestDetails></Request>';
// We send XML via CURL using POST with a http header of text/xml.
$url = 'https://interface.demo.gta-travel.com/rbsusapi/RequestListenerServlet';
$ch = curl_init();
$zipPath = '/home/content/38/10376438/html/viptravelink/xml/' .date('m-d-Y_h-i-s'). '.zip';
$out = fopen($zipPath, 'wb');
echo "File Opening Successful<br>";
if ($out == FALSE){
echo "Download Failed<br>";
exit;
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSLVERSION, 3); // Force SSLv3 to fix Unknown SSL Protocol error
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_FILE, $out);
curl_setopt($ch, CURLOPT_POSTFIELDS,$xmlRequest);
curl_setopt($ch,CURLOPT_ENCODING , "gzip");
curl_setopt($ch,CURLOPT_AUTOREFERER , 1);
curl_setopt($ch,CURLOPT_MAXREDIRS , 10);
curl_setopt($ch, CURLOPT_HEADER, 1);
$result=curl_exec($ch);
$httpCode = curl_getinfo($ch);
curl_close($ch);
fclose($out);
$zip = new ZipArchive;
if (!$zip) {
echo "Could not make ZipArchive object.<br>";
exit;
}
$zip->open('$zipPath');
$zip->extractTo('/home/content/38/10376438/html/viptravelink/xml/content/');
$zip->close();
echo "Uncompression Successful<br>";
?>
Любая помощь будет очень удобна reciated !!
Спасибо!
Thankyou за ответ, я изменил на то, что вы сказали мне, файл загружен, но это не распакованные и это выход: 'Открытие файла Успешное Внимание: ZipArchive :: open() ожидает, что параметр 1 будет строкой, ресурс указан в /home/content/38/10376438/html/viptravelink/xml/xml3.php в строке 47 Предупреждение: ZipArchive :: extractTo() [ziparchive.extractto]: Недействительный или униализированный объект Zip в /html/viptravelink/xml/xml3.php в строке 48 Предупреждение: ZipArchive :: close() [ziparchive.close]: Недействительный или униализированный объект Zip в/html/viptravelink/xml/xml3. php on line 49 Uncompression Successful' – enriqg9
Я сделал небольшую ошибку, вы можете установить '$ zip-> open ($ zipPath);' и вы должны быть в порядке. – DevZer0
Это сработало! Огромное спасибо :) – enriqg9