| 제목 | fsockopen을 사용해 외부서버 파일을 읽을려고 하는데 제대로 읽지를 못하네요 | ||
|---|---|---|---|
| 카테고리 | PHP | ||
| 글쓴이 | 정수리 | 작성시각 | 2017/04/26 14:36:27 | 
|  | |||
| 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) 쓰면 알아서 해줄텐데