 |
|
|  |
fsockopen이용해 file함수 처럼 사용하기 |
|
|
 |
17년 전 |
php의 file()과 같은 기능을 하는 함수 입니다.
$test = getURLPage("http://xtx.kr");
$test는 1~xxx라인까지 내용을 배열로 저장합니다.
p.s : previl.net의 내용을 그대로 보여주기 위해서는 $test= join("\r\n",$test); 이렇게 다시 배열을 합치면 됩니다.
/*
###############################################
::: file() 기능함수 :::
사용방법 : getURLPage("사이트주소");
ex) $test = getURLPage("http://xtx.kr");
###############################################
*/
function getURLPage($url) {
if(!$tmp = parse_url($url)) return 0;
if($tmp['scheme'] != "http") return 0;
$host = $tmp['host'];
$port = ($tmp['port']) ? $tmp['port'] : 80;
$path = ($tmp['path']) ? $tmp['path'] : "/";
$para = ($tmp['query']) ? $tmp['query'] : "";
$fp = @fsockopen($host, $port, &$errno, &$errstr, 10);
if(!$fp) return 0;
$header = "GET ".$path.$para." HTTP/1.0\r\n";
$header .= "Host: ".$host."\r\n";
$header .= "User-agent: PHP/HTTP_CLASS\r\n";
$header .= "\r\n";
fputs($fp,$header);
$ret = Array();
while(!feof($fp)) {
$ctr=fgets($fp, 1024);
if ($ok) $ret[]= $ctr;
if (strstr($ctr, "HTTP/1.1 404") && !$ok) break;
if (strstr($ctr, "Content-Type: text/html")) $ok=1;
}
fclose($fp);
return $ret ;
} |
|
추천 : 311 |
추천
목록
|
|
|  |
|