채택완료

curl관련 질문

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개

채택된 답변
+20 포인트

CURLOPT_FILE​ 옵션을 줘서 바로 파일에 쓰는 방법을 

찾아 보시면 있긴 할겁니다.

그보다 먼저 $res랑 $buffer의 길이를 한번 찍어보시는 것도 좋을 듯하구요.

답변을 작성하려면 로그인이 필요합니다.