function curl_get($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data = curl_exec($ch);
print_r(curl_getinfo($ch, CURLINFO_SIZE_DOWNLOAD));
curl_close($ch);
return $data;
}
이 페이지 "wikipedia.sfstate.us/Scarves"와 문자열을 일치 시키려고했습니다.콘텐츠의 마지막 청크 만 반환됩니다.
812 //CURLINFO_SIZE_DOWNLOAD
string(812) "..." //$html string where the content is stored
그러나, 전체 파일은 64,612 바이트 (web-sniffer.net에 의한 결과)입니다 :
$url = "http://wikipedia.sfstate.us/Scarves";
$html = curl_get($url);
var_dump($html);
결과는 다음과 같습니다 : I 콘텐츠를 얻을 수있는 기능을 사용합니다. 그리고 64612 = 1024 * 63 + 812입니다. 즉, 파일의 마지막 812 바이트 만 가져옵니다.
왜 이런 일이 발생할 수 있습니까? 전체 콘텐츠를 가져 오는 방법에 대한 아이디어가 있습니까? 감사.
피. 스. 나는 또한 sth를 시도했다. 아래와 같이 도움이되지 않습니다.
if(strlen($html) < 1024){
$html = '';
$i = 0;
while($content = file_get_contents($url, FILE_TEXT, NULL, $i, $i + 1023)){
$html .= $content;
$i += 1023;
}
}