curl관련 질문
본문
curl로 타서버(.net)와 통신중인데 자료가 5메가정도 됩니다. 용량 문제인지 아니면
응답서버에서 자료를 db에서 뽑아오는 시간이 상당히 걸리더라구요 이부분때문인지
curl로 그냥 받아올때는 시간이 걸리긴해도 잘받아오던게
파일로 저장만하면 문서에 기본텍스트만 받아오네요.
블라블라@블라블라@블라블라@블라블라<br />
----------------------------------------------------------------
이런형식으로 쭉쭉 뿌려져야되는데 이부분은 표시가 안됩니다.
해결방법이 없을까요??
사용코드입니다.
function CurlToFile($url,$param , $vendor_id, $returnTransfer = 1 ){
$referer_url= $url;
$curlsession = curl_init();
curl_setopt($curlsession, CURLOPT_URL, $url);
curl_setopt($curlsession, CURLOPT_POST, 1);
curl_setopt($curlsession, CURLOPT_POSTFIELDS, $param);
curl_setopt($curlsession, CURLOPT_RETURNTRANSFER, $returnTransfer);
curl_setopt($curlsession, CURLOPT_TIMEOUT, 6000);
curl_setopt($curlsession, CURLOPT_HEADER, 0); //1 : 헤더값을 가져오기위해 사용합니다. 쿠키를 가져오려고요.
curl_setopt($curlsession, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($curlsession, CURLOPT_REFERER, $referer_url);
ob_start();
$res = curl_exec($curlsession);
$buffer = ob_get_contents();
ob_end_clean();
curl_close($curlsession);
$filename = $vendor_id . "__". date('ymd H:i:s') . ".php";
$file = $_SERVER['DOCUMENT_ROOT'].'/data/socket/'.$filename;
file_put_contents($file ,$res);
return $buffer;
}
답변 1
CURLOPT_FILE 옵션을 줘서 바로 파일에 쓰는 방법을
찾아 보시면 있긴 할겁니다.
그보다 먼저 $res랑 $buffer의 길이를 한번 찍어보시는 것도 좋을 듯하구요.