티스토리 뷰
php.ini 파일에 allow_url_fopen=on으로 설정되어 있으면, URL 주소로 파일 읽어올 때 다음과 같이 처리하면 됩니다.
추가적으로 GET 방식 호출은 다음과 같이 할 수도 있습니다.
하지만 위 방식보다는 fopen 대신 fsockopen을 이용하는게 나을 것 같습니다.
- <?php
- $fp = fopen($url, "r");
- while (!feof($fp)) {
- $retVal .= fgets($fp, 1024);
- }
- fclose($fp);
- echo($retVal);
- ?>
하지만 allow_url_fopen=off로 설정되어 있는 경우,
일단 php.ini 파일을 수정하면 됩니다.
벗뜨~~ 웹 호스팅을 하는 경우 php.ini 파일을 직접 수정할 수 없는 경우가 있죠~
이런 경우의 해결책을 찾아보니 다음과 같이 socket을 이용해 URL주소를 읽어오는 방법이 있었슴다..
- <?php
- $url = "URL 주소";
- $info = parse_url($url);
- $send = "POST " . $info["path"] . " HTTP/1.1\r\n"
- . "Host: " . $info["host"] . "\r\n"
- . "Content-type: application/x-www-form-urlencoded\r\n"
- . "Content-length: " . strlen($info["query"]) . "\r\n"
- . "Connection: close\r\n\r\n" . $info["query"];
- $fp = fsockopen($info[host], 80);
- fputs($fp, $send);
- $start = false;
- $retVal = "";
- while (!feof ($fp)) {
- $tmp = fgets($fp, 1024);
- if ($start == true) $retVal .= $tmp;
- if ($tmp == "\r\n") $start = true;
- }
- fclose($fp);
- echo($retVal);
- ?>
추가적으로 GET 방식 호출은 다음과 같이 할 수도 있습니다.
- <?php
- $url = "URL 주소";
- $info = parse_url($url);
- $host = $info["host"];
- $port = $info["port"];
- if ($port == 0) $port = 80;
- $path = $info["path"];
- if ($info["query"] != "") $path .= "?" . $info["query"];
- $out = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n";
- $fp = fsockopen($host, $port, $errno, $errstr, 30);
- if (!$fp) {
- echo "$errstr ($errno) <br>\n";
- }
- else {
- fputs($fp, $out);
- $start = false;
- $retVal = "";
- while(!feof($fp)) {
- $tmp = fgets($fp, 1024);
- if ($start == true) $retVal .= $tmp;
- if ($tmp == "\r\n") $start = true;
- }
- fclose($fp);
- echo $retVal;
- }
- ?>
기타 다른 방법으로는 .htaccess 파일을 이용하는 방법도 있더라구요..
.htaccess 파일에 다음과 같은 내용을 추가하면 된다고 합니다.
php_flag allow_url_fopen 1
'프로그래밍 > Web' 카테고리의 다른 글
GIS 지도 좌표계에 대한 정리~ (0) | 2011.12.14 |
---|---|
모바일 웹 사이트 제작을 위한 표준~ (0) | 2011.11.28 |
MySQL 테이블을 모두 삭제하는 PHP 소스~ (1) | 2011.10.26 |
정규식으로 전화번호 형식 변경하기 (-포함해서 출력하기) (0) | 2011.10.24 |
구글맵 javascript API v3에 대한 정리~ (3) | 2011.10.21 |
Blog is powered by
Tistory / Designed by
Tistory