카테고리:

1 분 소요

PHP에서 웹상 파일 읽기

php로 웹상(원격)에 있는 파일을 읽는 방법으로는 보통 아래와 같은 방법을 사용하여 파일을 읽는다.

  1. fopen() 함수 사용
  2. file_get_contents() 함수 사용
  3. 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()와 같이 작동한다.

태그: curl, curl_init(), CURLOPT_URL, file_get_contents, file_get_contents_curl, php

업데이트: