[ php ] allow_url_fopen = off 일때 url파일읽기 > php

본문 바로가기
사이트 내 전체검색

php

[ php ] allow_url_fopen = off 일때 url파일읽기

페이지 정보

작성자 웹지기 댓글 0건 조회 5,989회 작성일 18-09-28 11:40

본문

php.ini 파일에 allow_url_fopen=on으로 설정되어 있으면, URL 주소로 파일 읽어올 때 다음과 같이 처리

하지만 allow_url_fopen=off로 설정되어 있는 경우, 일단 php.ini 파일을 수정

그러나 웹호스팅을 하는 경우 php.ini 파일을 직접 수정할 수 없는 경우가 있다.

이런 경우의 해결책을 찾아보니 다음과 같이 socket을 이용해 URL주소를 읽어오는 방법

[code]

<?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);

?>

[/code]


추가적으로 GET 방식 호출은 다음과 같이 할 수도 있다.

[code]

<?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;

}

?>

[/code]


기타 다른 방법으로는 .htaccess 파일을 이용하는 방법

.htaccess 파일에 다음과 같은 내용을 추가

[code]

php_flag allow_url_fopen 1

[/code]

하지만 위 방식보다는 fopen 대신 fsockopen을 이용하는게 나을 것 같다

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 82건 3 페이지
  • 52 [ php ] 숫자앞에 0을 넣고 싶을 때
  • 숫자를 반복문이나 나열할 때 숫자가 한자리인데 0을 붙여서 두자리로 만들고 싶을 때1,2,3,4 ==&gt; 01,02,03,04 와 같은 형태로 넣고 싶을 때sprintf를 사용string sprintf ( string $format [, mixed $args [, mixed $... ]] )포맷 문자열 format에 따라 생성한 문자열을 반환합니다.포맷 문자열은 0개 이상의 지시어를 조합합니다: 일반 문자는 (%을 제외하고) 결과에 그대로 복사하고,변환 특정어는 각각의 인수로 교체한 ...
  • 웹지기 09-10 6510 0 0 댓글 0
  • 51 [ php ] ajax 한글 깨짐 방지
  • 한글깨짐방지encodeURIComponent(전송값) - $전송값 = iconv("UTF-8", "CP949", rawurldecode(($_POST['전송값'])));data: { "reg_mb_id": encodeURIComponent($(this).val())},와 같은 형태로 전송php 페이지로 받기$reg_mb_id = iconv("UTF-8", "CP949", rawurldecode(($_POST...
  • 웹지기 09-11 6369 0 0 댓글 0
  • 49 [ php ] MS Word docx 파일 생성 라이브러리
  • PHPWord : http://phpword.codeplex.com서버상에 docx 파일을 올리고 이파일에 특정 항목의 값을 post로 넘겨받은후 템플릿 파일에 그값을 채워넣고 워드파일 생성ex파일 : PHPWord/Examples/Template.php [이 게시물은 웹지기님에 의해 2018-08-28 14:20:25 php에서 이동 됨]
  • 웹지기 08-24 6286 0 0 댓글 0
  • 48 [ php ] 게시판 권한, 그룹관리자 권한 수정시
  • /lib/common.lib.phpfunction is_admin 을 변경// 관리자인가?[code]function is_admin($mb_id){ global $config, $group, $board; if (!$mb_id) return; if ($config['cf_admin'] == $mb_id) return 'super'; //if ($group['gr_admin'] == $mb_id) return 'group'; //그룹관리자를 몽땅 만들기 위해 추가 2011.1.2 FREEMASTER...
  • 웹지기 10-01 6268 0 0 댓글 1
  • 47 [ php ] php 절차지향 객체지향
  • 절차지향(procedural programming) - 절차지향 프로그램은 위에서 아래로 흐르는 순차적인 처리 - 프로그램 전체가 유기적으로 연결되도록 만드는 프로그램 객체지향(OOP, object-oriented programming) - 객체지향 프로그램은 개발하려는 것을 기능별로 묶어 모듈화로 하드웨어가 중복 연산되지 않게 함 - 모듈을 재활용하는 방식이므로 하드웨어 처리량이 줄어듬 - 데이터와 절차를 하나를 덩어리로 묶어서 사용, 컴퓨터 부품을 하나씩 사서 조립하는것과 같음 ...
  • 웹지기 05-16 6038 0 0 댓글 0
  • 46 [ php ] Class 사용법 정리 1. 클래스 정의
  • 1.클래스정의클래스란?클래스는객체의변수와함수를정의하는템플릿이며,이에따라변수로표현되는데이터영역과이러한데이터영역에접근할수있는함수로구성됩니다.클래스내에정의된변수를멤버변수(member variable)라고하고함수를메쏘드(method)라고합니다.C++과같은객체지향언어에서는멤버변수를데이터멤버,메쏘드를멤버함수라고호칭합니다.PHP에서클래스를사용하는것은 C++또는자바와거의비슷합니다.클래스정의클래스를정의(class definition)할때는키워드"class"를사용합니다.클래스를구성하는멤버변수와메쏘...
  • 웹지기 09-11 6037 0 0 댓글 0
  • 열람중 [ php ] allow_url_fopen = off 일때 url파일읽기
  • php.ini 파일에 allow_url_fopen=on으로 설정되어 있으면, URL 주소로 파일 읽어올 때 다음과 같이 처리하지만 allow_url_fopen=off로 설정되어 있는 경우, 일단 php.ini 파일을 수정그러나 웹호스팅을 하는 경우 php.ini 파일을 직접 수정할 수 없는 경우가 있다.이런 경우의 해결책을 찾아보니 다음과 같이 socket을 이용해 URL주소를 읽어오는 방법[code]&lt;?php$url = "URL 주소";$info = parse_u...
  • 웹지기 09-28 5990 0 0 댓글 0
  • 43 [ php ] 스코프 해결 연산자 / Scope Resolution Operator (::)
  • Scope Resolution Operator (Paamayim Nekudotayim이라고도 함) 또는 더 간단한 용어인 이중 콜론은 정적 , 상수 및 재정의 된 속성 또는 클래스의 메서드에 대한 액세스를 허용하는 토큰입니다 . 클래스 정의 외부에서 이러한 항목을 참조 할 때 클래스 이름을 사용하십시오. PHP 5.3.0부터 변수를 사용하여 클래스를 참조 할 수 있습니다. 변수의 값은 키워드가 될 수 없습니다 (예 : 자기 , 부모 및 정적 ). Paamayim Nekudotayim은 처음...
  • 웹지기 05-07 5788 0 0 댓글 0
  • 42 [ php ] $_SERVER 옵션 및 사용설명
  • [code]$_SERVER['DOCUMENT_ROOT'] = 현재 사이트가 위치한 서버상의 위치 =&gt; /webapp/include$_SERVER['HTTP_ACCEPT_ENCODING'] = 인코딩 받식 =&gt; gzip, deflate$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 언어 =&gt; ko$_SERVER['HTTP_USER_AGENT'] = 사이트 접속한 사용자 환경 =&gt; Mozilla/4.0(compatible; MSI...
  • 웹지기 10-01 5638 0 0 댓글 0
  • 40 [ php ] fopen, fgets, fclose, fseek, ftell
  • 1. fopen, fgets, fcloselog 파일 또는txt나 csv로 된 DB파일을 불러올 때 쓰는 함수다.$file = 'log.txt'; // 불러올 파일명$f =fopen( $file, "r" ); // 파일을 열어 '읽기만' 한다. (포인터는 파일의 맨 처음)$line =fgets( $f, 4096 ); // 한 줄을 읽는다.echo $line; // 한 줄을 출력한다.fclose($f) // 파일을 닫는다.각 함...
  • 웹지기 09-30 5484 0 0 댓글 0
  • 39 [ php ] 해당 년도의 주차별 시작일 종료일 구하기
  • //해당년도의 주차별 시작일 종료일구하기//yearToWeek(2015) 배열로 저장(overlap을 false로 하면 52주 53주의 중복)function yearToWeek($year,$overlap=true){ $k = 0; $allWeek = array(); for($i=1; $i&lt;=12;$i++) { $sa = mktime(0,0,0,$i,1,$year); $ea = mktime(23,59,59,$i,date("t",$sa),$year);...
  • 웹지기 09-11 5252 0 0 댓글 0
  • 38 [ php ] 자료형 비교표 gettype(), empty(), is_null(), isset(), bool…
  • __EXPRESSION__gettype()empty()is_null()isset()boolean:if($x)$x = "";stringTRUEFALSETRUEFALSE$x = null;NULLTRUETRUEFALSEFALSEvar $x;NULLTRUETRUEFALSEFALSE$xis undefinedNULLTRUETRUEFALSEFALSE$x = array();arrayTRUEFALSETRUEFALSE$x = false;booleanTRUEFALSETRUEFALSE$x = true...
  • 웹지기 09-28 5246 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
393
어제
8,307
최대
33,828
전체
8,651,859

그누보드5
Copyright © funyphp.com. All rights reserved.