[PHP] cURL을 사용하여 file_get_contents 사용하기
카테고리: PHP
PHP에서 웹상 파일 읽기
php로 웹상(원격)에 있는 파일을 읽는 방법으로는 보통 아래와 같은 방법을 사용하여 파일을 읽는다.
- fopen() 함수 사용
- file_get_contents() 함수 사용
- curl 사용
하지만, 대부분의 웹 호스팅에서는 file_get_contents()을 지원하지 않는다.
물론 curl을 지원하지 않는 웹 호스팅도 있지만, 많은 호스팅에선 아직 지원하므로 curl을 이용하여 php에서 웹 상 파일을 읽어오는 file_get_contents 함수를 curl로 구현했다.
소스 코드
<?php
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
file_get_contents()를 사용 할 자리에 위의 소스를 복사하여 적당한 위치에 두고 file_get_contents_curl()을 호출하면 file_get_contents()와 같이 작동한다.