0
웹 서비스에서 gzip을 가져 오는 중 클라이언트와 협력하고 있습니다. 나는 그런 'test.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;
}
: 내 다음 호출에 응답을 얻을 수 있어요 나는 끔찍한 잘못을 저지르고있다. 모든 통찰력은 인정 될 것이다.
편집 : 나는 대신에 '에 .gz'의 '.GZIP'로 파일을 저장 한 몇 가지 이유를 들어
... 그래서 지금 일을해야하기 위해이 있습니다
$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");
죄송합니다. 코드 조각을 포함하는 것을 잊어 버렸지 만 실제로 핸들을 닫습니다. 더 많이 읽을수록 나는 잘못된 방향으로 접근하고 있다고 생각합니다. 나는 아직 비누를 다루어야한다. – Thomas
파일을 읽으려고하면 어떻게됩니까? 실제로 열 수 있습니까? gzip 파일이 아닙니다. 언제든지 base64로 인코딩 되었습니까? –
나는 더 이상 일하지 않지만 예, base64로 인코딩되었습니다. 나를 혼란스럽게 만든 부분은 내용을 test.gzip에 쓰거나 나중에 내용을 디코딩하기 전에 디코딩해야합니까? 비누 요청에서 얻은 응답을 처리 할 때 나는 혼란스러워합니다. 당신의 도움을 주셔서 감사합니다! – Thomas