クライアントと協力して、Web サービスから gzip を取得しています。次の呼び出しで応答を得ることができます。
$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」などのファイルを書き込もうとすると、後で開くことができません...おそらく、何か恐ろしい間違いをしているからです。任意の洞察をいただければ幸いです。
編集:
何らかの理由で、ファイルを「.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");