curl로 타서버(.net)와 통신중인데 자료가 5메가정도 됩니다. 용량 문제인지 아니면
응답서버에서 자료를 db에서 뽑아오는 시간이 상당히 걸리더라구요 이부분때문인지
curl로 그냥 받아올때는 시간이 걸리긴해도 잘받아오던게
파일로 저장만하면 문서에 기본텍스트만 받아오네요.
성함@연락처@주소@특이사항<br /> 이렇게 기본텍스트문구만받아오고
---------------------------------------------------------
블라블라@블라블라@블라블라@블라블라<br />블라블라@블라블라@블라블라@블라블라<br />블라블라@블라블라@블라블라@블라블라<br />블라블라@블라블라@블라블라@블라블라<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의 길이를 한번 찍어보시는 것도 좋을 듯하구요.
답변을 작성하려면 로그인이 필요합니다.