php curl
을 사용하여 geoserver에 REST 요청을 보내고 바이너리 응답을받습니다.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);
서버 내가 $response
변수에 저장 이진 데이터 int로서 나에게 PNG 이미지를 전송합니다.
위의 코드에서 $response
은 png 이미지의 이진 데이터입니다. 어떻게 파일로 저장하지 않고 클라이언트에게 보낼 수 있습니까?
또 다른 질문은 데이터 형식이 $response
인 이유는 무엇입니까?
을 위해서 var_dump'의 출력은 무엇인가 ($ 응답)의'위해서 var_dump – Bijan
출력 : PNG) متی :»««»«»««; ,, آۀۀآإإاتینتامنتیکتیب نتیب اژييآ«تاريال]];, ريال,,,,,,,, ريالريال, –
'echo $ response'? 어쩌면 header() 호출을 먼저 호출하여 실제로 클라이언트에게 png –