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

php中文网
发布: 2016-07-13 09:53:56
原创
938人浏览过

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

   经常写采集器发布接口需要使用到远程附件的功能,所以自己写了一个php远程下载文件到本地的函数,一般情况下已经够用了,如果服务器支持curl函数,程序则会优先选择curl,有需要的小伙伴可以参考下。

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

  ?

1

2

立即学习PHP免费学习笔记(深入)”;

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

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);

多个迹象表明你还是PHP菜鸟
多个迹象表明你还是PHP菜鸟

我愿意把本文归入我的“编程糗事”系列。尽管在正规大学课程中,接触到软件工程、企业级软件架构和数据库设计,但我还是时不时地体会到下述事实带给我的“罪恶”感,当然,都是我的主观感受,并且面向Eclipse:   你是PHP菜鸟,如果你:   1. 不会利用如phpDoc这样的工具来恰当地注释你的代码   2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见   3

多个迹象表明你还是PHP菜鸟 379
查看详情 多个迹象表明你还是PHP菜鸟

if(@copy($url, $file, $context)) {

//$http_response_header

return $file;

} else {

return false;

}

}

}

?>

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

  ?

1

2

立即学习PHP免费学习笔记(深入)”;

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

// 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);

}

?>

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1000064.htmlTechArticlePHP实现远程下载文件到本地 经常写采集器发布接口需要使用到远程附件的功能,所以自己写了一个PHP远程下载文件到本地的函数,一般情况...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号