개발 Q&A

제목 fsockopen을 사용해 외부서버 파일을 읽을려고 하는데 제대로 읽지를 못하네요
카테고리 PHP
글쓴이 정수리 작성시각 2017/04/26 14:36:27
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 10422   RSS

fsockopen 함수를 사용

외부서버의 파일을 읽을려고 하는데

연결까지는 되는것 같은데

외부서버의 파일을 읽어오지 못하는것 같습니다.

while문에서 echo '1'을 하였을때

정상적으로 1이 출력이 되는데

var_dump($data)로 했을 경우

빈문자열만 출력이 되네요 ㅜㅜ

 

$socket =  fsockopen('ip주소',80);
        if(!$socket)
        {
          echo $errstr.'('.$errno.')';
        }
        else
        {
       
             
            $header = 'GET /gyeyak2017/test2.php HTTP/1.0\n\n';
            fputs($socket, $header);
             
            $data = ' ';
            while(!feof($socket))
            {
              echo'1';// 출력
              $data .=fgets($socket);
            }
            fclose($socket);
 
            $data = explode('\r\n\r\n', $data, 2);
            echo $data[1];
        }
 
 
외부서버 파일 내용
<?php 
echo 'jds'.date('Ymd');

 

 다음글 서로 다른 디비 서버에 흩어져 있는 정보를 가져오고 집... (5)
 이전글 PHP 음원 병합시 속성 문제로 인한 오류 관련 문의. (2)

댓글

야리 / 2017/04/27 19:18:54 / 추천 0

http 요청 양식이 틀렸어요.

\n\n이 아니라 \r\n이고 싱글쿼터에서는 안먹을거고 더블쿼터에서 먹을거에요

그리고 get 요청은 저 한줄말고 담줄에 호스트도 들어가야함.

근데 이렇게 로우하게 할 필요 있나요? file_get_contents(httpurl) 쓰면 알아서 해줄텐데