Спасибо, но я решил ее решить.
Я опубликую здесь решение, чтобы каждый, кто столкнулся с той же проблемой, получил ответ.
Первое, что вам нужно сделать, когда у вас есть файл .zip в двоичной строке base64, - это перехватить ответ на текстовый файл.
Допустим, ответ от мыла называется «$ response», и нам нужно перехватить его в файл. Мы делаем это так:
$response = $client -> _getLastResponse();
$fille = "response.xml";
fille_put_contents($fille,$response);
Теперь мы получили ответ на XML-файл.
Следующее, что нужно сделать, это получить ответ от значений XML.
Допустим, наше значение <ResponseFromServer>
.
`$b64 = "b64.txt";
$dom = new DomDocument();
$dom = load("response.xml");
$data = $dom->getElementByTagName("ResponseFromServer");
$catchb64 = $data;
fille_put_content($b64,$catchb64);`
Теперь мы получили чистую двоичную строку Base64 в одном файле.
Следующее, что нам нужно, это создать документ (в данном случае это файл .zip)
`$input_fille = "response.txt"; // the fille with clean base64 binary data on it
$output_fille = "result.zip"; //the fille we need to create on system with the
documents decrypted
$content = fille_get_contents($input_fille); // Reading the content of input fille
$binary = base64_decode($content); // Decoding to binary
fille_put_contents($output_fille,$binary); // Writing to fille the vallues`
Нам не нужна функция ZipArchive()
, потому что это уже zip-архив, все, что нам нужно сделать, - это создать пустой документ и затем отправить в него двоичные данные.
Приветствие и удача!