php의 allow_url_fopen이 막힌걸 해결하는 5가지 방법 > 웹개발팁


웹개발팁

모아보자 [PHP] php의 allow_url_fopen이 막힌걸 해결하는 5가지 방법 웹개발팁

[PHP] php의 allow_url_fopen이 막힌걸 해결하는 5가지 방법

본문

allow_url_fopen이 막혀 있으면


fopen, include, require, file_get_contents 함수 등에서 URL로 파일을 읽어 올 수 없게 된다.


그럴 경우 대안은


 
// 첫번째 방법 
php.ini 설정을 바꾸던가  
allow_url_fopen = ON 
단점 : 보안문제 + 서버설정 바꿀 수 없으면 적용 불가 
 
// 두번째 방법 
.htaccess에 추가 
php_flag allow_url_fopen = ON 
단점 : 보안문제 
 
// 세번째 방법 
소스에 추가 
ini_set('allow_url_fopen', 'ON'); 
 
// 네번째 방법 
fopen대신 curl 사용 
extension이 설치되어 있어야 사용 가능 
 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://열고싶은url'); 
cur_setopt($ch, CURLOTP_RETURNTRANSFER, 1); 
$contents = curl_exec($ch); 
curl_close($ch); 
 
// 다섯번째 방법 
소켓기능을 이용해서 URL로 파일 읽어오기 
 
function my_get_data() 
{ 
  $socket = fsockopen('서버주소', 80); 
    if ( $socke t) 
    { 
      $header = "GET /파일경로+이름 HTTP/1.0\n\n"; 
      fwrite($socket, $header); // fwrite는 소켓에 사용시에는 헤더나 데이터를 보내는데 사용됨 
 
      $data = ''; 
      while(!feof($socket)) { $data .= fgets($socket); } 
      fclose($socket); 
      $data = explode("\r\n\r\n", $data, 2); // $data안에서 header와 본문(html)을 분리하기 
      return $data[1]; 
    } else { 
      return false; 
    } 
} 


모바일버전 RSS SITEMAP