PHP实现远程下载文件到本地

代码很简单就不多废话了,直接奉上:

  <?php  echo httpcopy("http://www.baidu.com/img/baidu_sylogo1.gif");     function httpcopy($url, $file="", $timeout=60) {    $file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;    $dir = pathinfo($file,PATHINFO_DIRNAME);    !is_dir($dir) && @mkdir($dir,0755,true);    $url = str_replace(" ","%20",$url);       if(function_exists('curl_init')) {      $ch = curl_init();      curl_setopt($ch, CURLOPT_URL, $url);      curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);      curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);      $temp = curl_exec($ch);      if(@file_put_contents($file, $temp) && !curl_error($ch)) {        return $file;      } else {        return false;      }    } else {      $opts = array(        "http"=>array(        "method"=>"GET",        "header"=>"",        "timeout"=>$timeout)      );      $context = stream_context_create($opts);      if(@copy($url, $file, $context)) {        //$http_response_header        return $file;      } else {        return false;      }    }  }  ?>  

再来个远程下载文件到服务器

  <form method="post">  <input name="url" size="50" />  <input name="submit" type="submit" />  </form>  < ?php  // maximum execution time in seconds  set_time_limit (24 * 60 * 60);  if (!isset($_POST['submit'])) die();  // folder to save downloaded files to. must end with slash  $destination_folder = 'temp/';     $url = $_POST['url'];  $newfname = $destination_folder . basename($url);  $file = fopen ($url, "rb");  if ($file) {  $newf = fopen ($newfname, "wb");  if ($newf)  while(!feof($file)) {  fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );  }  }  if ($file) {  fclose($file);  }  if ($newf) {  fclose($newf);  }  ?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP实现远程下载文件到本地

郑重声明:本网站发布的内容(图片、视频和文字)以及用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服

发表评论

登录后才能评论