PHP fsockopen 함수를 이용해서 특정 페이지 읽어오기
웹마당넷 내에 있는 index.php 를 읽어와서 정적인 test.html로 저장하는 짧은 예제입니다.
예제를 돌려보시면 마지막 라인에 있는 file_put_contents 에서 permission denied 에러가 발생하는데
저장되는 페이지의 퍼미션을 666으로 저장될 페이지가 특정 폴더내에 존재한다면 폴더의 퍼미션은 777로 저장하여 주시면
됩니다.
도메인 및 url은 테스트 하실 분 경로에 맞게 수정하셔서 사용하시길 바랍니다.
<?
$fp = fsockopen('www.webmadang.net',80,$errno,$errstr,10);
if ( $fp ) {
$send = 'GET /main/index.php HTTP/1.0'."\r\n";
$send.= 'Host: cyberpr.co.kr'."\r\n";
$send.= 'Connection: Close'."\r\n\r\n";
fwrite($fp,$send);
$content = '';
while ( !feof($fp) ) $content.= fread($fp,1024);
$content = substr($content,strpos($content,"\r\n\r\n")+4);
fclose($fp);
file_put_contents('test.html',$content);
}
?>