php 下载远程图片 的几种方法
  1.获取远程文件大小及信息的函数
  function getFileSize($url){
  $url = parse_url($url);
  if($fp = @fsockopen($url[’host’],empty($url[’port’])?80:$url[’port’],$error)){
  fputs($fp,"GET ".(empty($url[’path’])?’/’:$url[’path’])." HTTP/1.1\r\n");
  fputs($fp,"Host:$url[host]\r\n\r\n");php手机版下载
  while(!feof($fp)){
  $tmp = fgets($fp);
  if(trim($tmp) == ’’){
  break;
  }else if(preg_match(’/Content-Length:(.*)/si’,$tmp,$arr)){
  return trim($arr[1]);
  }
  }
  return null;
  }else{
  return null;
  }
  }
  echo getFileSize("www.dianpub/download/xml.rar")
  2.图片
  //记录程序开始的时间
  $BeginTime=getmicrotime();
  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();
  $size = strlen($img);
  $fp2=@fopen($filename, "a");
  fwrite($fp2,$img);
  fclose($fp2);
  return $filename;
  }
  $img=GrabImage("www.dianpub/images/_1978837_detector_ap100.jpg","");
  if($img):echo '
  php <wbr>下载远程图片 <wbr>的几种方法
  ';else:echo "false";endif;
  //记录程序运行结束的时间
  $EndTime=getmicrotime();
  //返回运行时间
  exit($EndTime-$BeginTime);
  3.全文下载图片
  if(!empty($saveremoteimg))
  {
  $body = stripslashes($body);
  $img_array = array();
  preg_match_all("/(src|SRC)=["|'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png))/isU",$body,$img_array);
  $img_array = array_unique($img_array[2]);
  set_time_limit(0);
  $imgUrl = $img_dir."/".strftime("%Y%m%d",time());
  $imgPath = $base_dir.$imgUrl;
  $milliSecond = strftime("%H%M%S",time());
  if(!is_dir($imgPath)) @mkdir($imgPath,0777);
  foreach($img_array as $key =>$value)
  {
  $value = trim($value);
  $get_file = @file_get_contents($value);
  $rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3);
  $fileurl = $imgUrl."/".$milliSecond.$key.".".substr($value,-3,3);
  if($get_file)
  {
  $fp = @fopen($rndFileName,"w");
  @fwrite($fp,$get_file);
  @fclose($fp);
  }
  $body = ereg_replace($value,$fileurl,$body);
  }
  $body = addslashes($body);
  }
  4.PHP远程文件下载类(支持断点续传)
  1.功能:支持断点续传的下载,能计算传输率,能控制传输率
  简易使用方法:
  $object = new httpdownload();
  $object->set_byfile($file);//服务器文件名,包括路径
  $object->filename = $filename;//下载另存为的文件名
  $object->download();
  类文件:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。