我用php curl
發送一個REST請求到geoserver並獲得二進制響應。php發送curl的二進制響應給客戶端
$curl = curl_init();
$url = 'http://localhost:8080/geoserver/worksp/wms';
$query_str = "service=WMS&LAYERS=" . $_GET['LAYERS'] . "&TRANSPARENT=" . $_GET['TRANSPARENT'] . "&VERSION=" . $_GET['VERSION'] . "&REQUEST=" . $_GET['REQUEST'] . "&STYLES=" . $_GET['STYLES'] ;
$query = $url . '?' . $query_str;
//var_dump($query);
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $query,
CURLOPT_USERAGENT => 'Codular Sample cURL Request',
CURLOPT_BINARYTRANSFER => true,
CURLOPT_HEADER => false
));
set_time_limit(30); // set time in secods for PHP
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_USERPWD, "admin:geoserver");
$response = curl_exec($curl);
curl_close($curl);
服務器發送我一個PNG圖像作爲二進制數據的I保存在$response
變量。
現在,$response
在上面的代碼是一個PNG圖像的二進制數據。我如何將它發送給客戶端而不將其另存爲文件?
另一個問題是,$response
的數據類型是什麼?
什麼的var_dump'輸出($響應);' – Bijan 2014-12-03 17:50:42
var_dump:PNG的輸出)相關主題:««»««,; ,,,,,,,,,,,,,,,,,,,,,,,,,,ريال;,; – 2014-12-03 17:56:02
'echo $ response'?也許先用header()調用來告訴客戶端你實際上發送了一個png – 2014-12-03 17:56:27