도둑 프로그램 : 원격 사이트의 데이터(사진, 웹 페이지, 기타 파일)를 로컬로 캡쳐한 후 처리 후 표시합니다
정규 표현식: 문자열에 대한 패턴 분할, 일치, 검색 및 바꾸기 작업에 사용됩니다.
관련 함수:
int ereg ( 문자열 $pattern
, 문자열 $string
[, 배열 &$regs
]
)
매개변수가 생략되고 반환된 배열이 발견되면 반환 값은 True이고 그렇지 않으면 False를 반환합니다.
따라서 eregi( )은 크기에 민감하지 않습니다. 쓰기.
문자열 file_get_contents ( string $filename
[, bool $use_include_path
=
false [, 리소스 $context
[, int $offset
=
0 [, int $maxlen
]]]]
)
다음과 같은 전체 파일을 읽습니다.
웹페이지 정보를 얻으려면 이 기능을 사용하세요
도둑 프로그램.
예:
$url=file_get_contents("http://www.ubuntu.org.cn/index_kylin ");
echo $url;
?>
다른 웹사이트의 경우:
$url=file_get_contents("http://www.alangzhong.com/index.html");
echo $url;
?>
많은 배경 이미지가 보이지 않는 것을 발견했습니다.
웹페이지 소스코드를 살펴보니
src="/upload/201503/b123ec26-bb8f-43be-b5ad-cdf45153d053.png"/>
사진의 주소는 상대경로를 사용하고 있으며, 물론 로컬에는 그러한 파일이 없습니다.
정규식을 사용하여 이미지를 선택한 후 상대 경로를 원격 주소로 바꿉니다.
다음 코드의 시간 초과 문제는 해결되지 않았습니다.
<?php //ini_set('max_execution_time', '0'); //三者都没用啊,一直超时 //@ini_set('default_socket_timeout', 20000); //set_time_limit(2); $url=file_get_contents("http://www.alangzhong.com/index.html"); //echo $url; $fp = @fopen($url, "r") or die("超时"); //为什么不断超时 $contents = file_get_contents($url); eregi("<img width=\"116\" height=\"98\" src=\"/upload/201503/b123ec26-bb8f-43be-b5ad-cdf45153d053.png\"/>",$contents,$rg); // 远程地址替换相对路径 $rg[1]=str_replace("src=\"../upload/","src=\"http://www.alangzhong.com/index.html/upload/",$rg[1]); echo $rg[1]; ?>
위 내용은 PHP의 간단한 도둑 프로그램을 관련 내용을 포함하여 소개한 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.