|
方式1:sockets <div class="codetitle"><a style="CURSOR: pointer" data="57091" class="copybut" id="copybut57091" onclick="doCopy('code57091')"> 代码如下:<div class="codebody" id="code57091"> $a = "http://jb51.cc/content/uploadfile/201106/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg"; $local = 'socket1.gif'; $aa = getImg($a,$local); / @ 完整的图片地址 @ 要存储的文件名 / function getImg( $url = "",$filename = "" ) { if(is_dir(basename($filename))) { echo "The Dir was not exits"; Return false; } //去除URL连接上面可能的引号 $url = preg_replace( '/(?:^['"]+|['"/]+$)/','',$url ); if (!extension_loaded('sockets')) return false; //获取url各相关信息 preg_match( '/http://([^/:]+(:d{1,5})?)(.)/i',$url,$matches ); if (!$matches) return false; $sock = socket_create( AF_INET,SOCK_STREAM,SOL_TCP ); if ( !@socket_connect( $sock,$matches[1],$matches[2] ? substr($matches[2],1 ) : 80 ) ) { return false; } //图片的相对地址 $msg = 'GET ' . $matches[3] . " HTTP/1.1rn"; //主机名称 $msg .= 'Host: ' . $matches[1] . "rn"; $msg .= 'Connection: Close' . "rnrn"; socket_write( $sock,$msg ); $bin = ''; while ( $tmp = socket_read( $sock,10 ) ) { $bin .= $tmp; $tmp = ''; } $bin = explode("rnrn",$bin); $img = $bin[1]; $h = fopen( $filename,'wb' ); $res = fwrite( $h,$img ) === false ? false : true; @socket_close( $sock ); Return $res; } 方式2:curl <div class="codetitle"><a style="CURSOR: pointer" data="48805" class="copybut" id="copybut48805" onclick="doCopy('code48805')"> 代码如下:<div class="codebody" id="code48805"> <?php $url = "http://jb51.cc/content/uploadfile/201106/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg"; $filename = 'curl.gif'; //http://jb51.cc getImg($url,$filename); / @通过curl方式获取制定的图片到本地 @ 完整的图片地址 @ 要存储的文件名 / function getImg($url = "",$filename = "") { if(is_dir(basename($filename))) { echo "The Dir was not exits"; Return false; } //去除URL连接上面可能的引号 $url = preg_replace( '/(?:^['"]+|['"/]+$)/',$url ); $hander = curl_init(); $fp = fopen($filename,'wb'); curl_setopt($hander,CURLOPT_URL,$url); curl_setopt($hander,CURLOPT_FILE,$fp); curl_setopt($hander,CURLOPT_HEADER,0); curl_setopt($hander,CURLOPT_FOLLOWLOCATION,1); //curl_setopt($hander,CURLOPT_RETURNTRANSFER,false);//以数据流的方式返回数据,当为false是直接显示出来 curl_setopt($hander,CURLOPT_TIMEOUT,60); /$options = array( CURLOPT_URL=> 'http://jb51.cc/content/uploadfile/201106/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg', CURLOPT_FILE => $fp, CURLOPT_HEADER => 0, CURLOPT_FOLLOWLOCATION => 1, CURLOPT_TIMEOUT => 60 ); curl_setopt_array($hander,$options); / curl_exec($hander); curl_close($hander); fclose($fp); Return true; } ?>
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|