2009-12-17 1 views

답변

2

. 비록 소켓을 활성화해야합니다.

function getcontent($server, $file,$port=80) 
{ 
    $cont = ""; 
    $ip = gethostbyname($server); 
    $fp = fsockopen($ip, $port); 
    if (!$fp) 
    { 
     return "Unknown"; 
    } 
    else 
    { 
     $com = "GET $file HTTP/1.1\r\nAccept: */*\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\nHost: $server:$port\r\nConnection: Keep-Alive\r\n\r\n"; 
     fputs($fp, $com); 
     while (!feof($fp)) 
     { 
      $cont .= fread($fp, 500); 
     } 
     fclose($fp); 
     $cont = substr($cont, strpos($cont, "\r\n\r\n") + 4); 
     return $cont; 
    } 
} 

사용법 :에만 활성화하면 fopen 래퍼와 함께 작동

getcontent('google.com', '/intl/en_ALL/images/logo.gif'); 
+0

"Accept-Encoding : gzip, deflate". gzip으로 압축 된 내용을 받아들이면 반드시 해독해야하며 그렇지 않으면 fread()가 수행 할 것인가? –

+0

Accept-Language : de-ch를 보낼 필요가 있습니다. –

+0

잠시 동안 작동하는 것처럼, 요청 (파일 + 페이지)에 문제가 없었습니다. – bisko

4

당신은 사용하여 원격 파일의 내용을 얻을 수 있습니다 :이 너무 작동

<?php 
    $file_content = file_get_contents('http://www.the-site.com/file.txt'); 
?> 

File_get_contents on PHP.net

+1

.... –

+0

그 기능을 사용하여 웹 사이트에서 이미지를 다운로드 할 수 있습니까? – Sarfraz

+1

예, 원하는 파일을 다운로드 할 수 있습니다. 브라우저가 볼 수있는 것을 가져 와서 문자열로 반환합니다. 아주 간단한 함수입니다. :-) –

관련 문제