php 采集远程图片
变量说明:$url 是远程图片的完整url地址,不能为空,$filename 是可选变量,如果为空,本地文件名将基于时间和日期.
自动生成,代码如下:
function grabimage( $url , $filename = "" ) {
if ( $url == "" ): return false; endif ;
if ( $filename == "" ) {
$ext = strrchr ( $url , "." );
if ( $ext != ".gif" && $ext != ".jpg" ): return false; endif ;
$filename = date ( "dmyhis" ). $ext ;
}
ob_start();
readfile( $url );
$img = ob_get_contents();
ob_end_clean(); //开源代码phpfensi.com
$size = strlen ( $img );
$fp2 =@ fopen ( $filename , "a" );
fwrite( $fp2 , $img );
fclose( $fp2 );
return $filename ;
}如果可用采集防采集的功能把fopen改成如下:
$ch = curl_init();
curl_setopt( $ch , curlopt_url, $url ); //这是目标地址
curl_setopt( $ch , curlopt_header, 0);
curl_setopt( $ch , curlopt_returntransfer, 1);
curl_setopt( $ch , curlopt_referer, $referer ); //这里伪造
$data = curl_exec( $ch );
curl_close( $ch );
echo $data ;