PHP实例代码:实现远程下载文件到本地的函数

   经常写采集器发布接口需要使用到远程附件的功能,所以自己写了一个PHP远程下载文件到本地的函数,一般情况下已经够用了,如果服务器支持CURL函数,程序则会优先选择CURL,因为测试结果表明CURL的响应时间及资源占用率比file_get_contents小得多;如果大家有好的建议及改进方案,欢迎留言给我哦!

  代码:

  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;

  }

  }

  }

  ?>

时间: 2024-09-08 11:51:42

PHP实例代码:实现远程下载文件到本地的函数的相关文章

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

  经常写采集器发布接口需要使用到远程附件的功能,所以自己写了一个PHP远程下载文件到本地的函数,一般情况下已经够用了,如果服务器支持CURL函数,程序则会优先选择CURL,有需要的小伙伴可以参考下. 代码很简单就不多废话了,直接奉上: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 <?php echo httpcopy("htt

PHP实现远程下载文件到本地_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_DI

PHP实现从远程下载文件的方法

 这篇文章主要介绍了PHP实现从远程下载文件的方法,涉及php操作文件的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了PHP实现从远程下载文件的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <?php if ($_GET[xfer]) { if ($_POST[from] == "") { print "You forgot to enter a url

PHP实现从远程下载文件的方法_php技巧

本文实例讲述了PHP实现从远程下载文件的方法.分享给大家供大家参考.具体实现方法如下: <?php if ($_GET[xfer]) { if ($_POST[from] == "") { print "You forgot to enter a url."; } else { copy("$_POST[from]", "$_POST[to]"); $size = round((filesize($_POST[to])/

js自动下载文件到本地的实现代码_javascript技巧

复制代码 代码如下: <html> <head> <title>js自动下载文件到本地</title> <script language="javascript" type="text/javascript"> function InitAjax() { var ajax; if(window.ActiveXObject){ var versions = ['Microsoft.XMLHTTP', 'MSX

SaveRemoteFile函数之asp实现保存远程的文件到本地的代码_应用技巧

'================================================== '过程名:SaveRemoteFile '作  用:保存远程的文件到本地 '参  数:LocalFileName ------ 本地文件名 '参  数:RemoteFileUrl ------ 远程文件URL '================================================== Function SaveRemoteFile(LocalFileName,Rem

SaveRemoteFile函数之asp实现保存远程的文件到本地的代码

'================================================== '过程名:SaveRemoteFile '作  用:保存远程的文件到本地 '参  数:LocalFileName ------ 本地文件名 '参  数:RemoteFileUrl ------ 远程文件URL '================================================== Function SaveRemoteFile(LocalFileName,Rem

java 下载 断点续传-用java语言从web下载文件到本地指定路径下

问题描述 用java语言从web下载文件到本地指定路径下 java语言实现从外部网站下载文件到我们公司的服务器上,支持断点续传并且用一个线程下载一个文件,请问哪位有什么思路或者源码参考.麻烦大家给我出出主意. 网上都是从服务器上下载到本地的案例.这种可以应用到我这种需求上吗? 顺便问下http协议和ftp协议下载文件是否支持下载到本地指定路径,对文件大小类型有没有限制. 解决方案 1.先用代码解析外部网站下载页面获取下载地址 2.代码实现http协议请求解析得到的下载地址,下载文件到本地 3.代

asp.net-从服务器上下载文件到本地不成功

问题描述 从服务器上下载文件到本地不成功 当项目在本地时正常,当项目布在服务器上面,下载的文件存储在服务器上.代码如下,怎么才能让文件保存在本地 Uri downUri = new Uri(@"http://wap.incake.net/voiceorderFile/NO7HhefxdIeQqzvbfw7EP8_U1Up3Vdzw0YfQ5vB_oaMQoZq4bfa5P-T-SqixZtXP8LK.mp3"); //建立一个WEB请求,返回HttpWebRequest对象 HttpW