테스트 사이트 - 개발 중인 베타 버전입니다

curl관련 질문 채택완료

this1mg 10년 전 조회 3,750

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 포인트
10년 전

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

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

 

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

로그인 후 평가할 수 있습니다

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

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

로그인