2009-04-09 3 views
0

Я работаю с клиентом по получению gzip из своего веб-сервиса. Я могу получить ответ с моим следующим вызовом:Файл из SOAP, как сэкономить?

$response = $client->call('branchzipdata', $param); 
$filename = "test.gzip"; 
if (!$handle = fopen($filename, 'a')) { 
    echo "Cannot open file ($filename)"; 
    exit; 
} 

if (fwrite($handle, $response) === FALSE) { 
    echo "Cannot write to file ($filename)"; 
    exit; 
} 

Теперь, когда я пытаюсь написать, что файл, например, «test.gzip», я не могу открыть его потом ... скорее всего потому, что Я делаю что-то ужасное. Любое понимание было бы оценено.

EDIT:

По какой-то причине я спасительной файл как «.gzip» вместо «.gz» ... Так что для того, чтобы иметь его работу я теперь:

$response = $client->call('call', $param); 
$content = base64_decode($response); 
$filename = "output_zip.gz"; 
if (!$handle = fopen($filename, 'w')) { 
    echo "Cannot open file ($filename)"; 
    exit; 
} 

if (fwrite($handle, $content) === FALSE) { 
    echo "Cannot write to file ($filename)"; 
    exit; 
} 
fclose($handle); 
echo system("gzip -d $filename"); 

ответ

1

(Отредактировано на основе комментариев)

Если возвращаемое значение закодировано в base64, вам необходимо выполнить base64-декодирование перед его записью в файл. В качестве альтернативы вы можете записать его в файл, который затем base64-decode до еще один файл, прежде чем пытаться его открыть, но это кажется немного бессмысленным по сравнению с просто расшифровкой его, когда вы его впервые получите.

+0

Извините, забыли включить этот фрагмент кода, но я фактически закрываю ручку. Из того, что я читал, я думаю, что просто приближаюсь к этому неправильно. Мне еще нужно иметь дело с мылом. – Thomas

+0

Что происходит, когда вы пытаетесь прочитать файл? Можете ли вы открыть его, но это не файл gzip? Является ли это base64-кодированным каким-либо образом? –

+0

Я больше не работаю, но да, это base64-encoded. Часть, которая меня смутила, я должен ее декодировать, прежде чем писать содержимое в test.gzip или впоследствии декодировать содержимое? Я думаю, что я просто смущен, когда дело доходит до обработки ответа, который я получаю от запроса на мыло. Спасибо за вашу помощь! – Thomas

 Смежные вопросы

  • Нет связанных вопросов^_^