我用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