php自动采集内容中带有图片地址的远程图片
function my_file_get_contents( $url , $timeout =30) { if ( function_exists( 'curl_init' ) ) { $ch = curl_init(); curl_setopt ( $ch , curlopt_url, $url ); curl_setopt ( $ch , curlopt_returntransfer, 1); curl_setopt ( $ch , curlopt_connecttimeout, $timeout ); $file_contents = curl_exec( $ch ); curl_close( $ch ); } else if ( ini_get ( 'allow_url_fopen' ) == 1 || strtolower ( ini_get ( 'allow_url_fopen' )) == 'on' ) { $file_contents = @ file_get_contents ( $url ); } else { $file_contents = '' ; } return $file_contents ; } 代码如下 复制代码 function get_remote( $body , $title ){ $img_array = array (); $img_path = realpath ( "upfile/news/" ). '/' . date ( "y/m/d/" ); //采集远程图片保存地址 //die($img_path); $img_rpath = '/upfile/news/' . date ( "y/m/d/" ); //设置访问地址 $body = stripslashes ( strtolower ( $body )); preg_match_all( "/(src|src)=[" |'| ]{0,}(http: //(.*).(gif|jpg|jpeg|png))/isu",$body,$img_array); $img_array = array_unique ( $img_array [2]); foreach ( $img_array as $key => $value ) { $get_file = my_file_get_contents( $value ,60); $filetime = time(); $filename = date ( "ymdhis" , $filetime ).rand(1,999). '.' . substr ( $value ,-3,3); if ( empty empty ( $get_file )){ @sleep(10); $get_file = my_file_get_contents( $value ,30); if ( empty empty ( $get_file )){ $body = preg_replace( "/" . addcslashes ( $value , "/" ). "/isu" , '/notfound.jpg' , $body ); continue ; } } if (! empty empty ( $get_file ) ){ if ( mkdirs( $img_path ) ) { $fp = fopen ( $img_path . $filename , "w" ); if (fwrite( $fp , $get_file )){ $body = preg_replace( "/" . addcslashes ( $value , "/" ). "/isu" , $img_rpath . $filename , $body ); } fclose( $fp ); @sleep(6); } } } $body = str_replace ( "<img" , "<img " , $body ); return $body ; //开源代码phpfensi测试数据 } function mkdirs( $dir ) { if (! is_dir ( $dir )){ if (!mkdirs(dirname( $dir ))){ return false;} if (! mkdir ( $dir ,0777)){ return false;} } return true; } $str = 'fasfsdafsa<img src=http://filesimg.phpfensi测试数据/2010/03/2010062300391582.jpg />' ; echo get_remote( $str , '图片' );查看更多关于php自动采集内容中带有图片地址的远程图片 - p的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30191