注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

前端开发那点事儿

冒犯之处,敬请谅解。

 
 
 

日志

 
 
 
 

php fopen下载远程文件的函数  

2012-07-09 10:11:34|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

php fopen下载远程文件的函数

这几天给客户写的PHP的火车头发布接口,往往会使用到远程附件功能,昨天在小小文的博客那里看到了一段代码,自己拿来在组合一下,加上了自动判断目录且建立目录的功能,然后添加了完整的注释,以后会经常用到哦!

<?php
function get_file($url, $folder = "./") {
    set_time_limit (24 * 60 * 60); // 设置超时时间
    $destination_folder = $folder . "/"; // 文件下载保存目录,默认为当前文件目录
    if (!is_dir($destination_folder)) { // 判断目录是否存在
            mkdirs($destination_folder); // 如果没有就建立目录
    }
    $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); // 关闭本地文件
    }
    return true;
}  
 
function mkdirs($path , $mode = "0755") {
    if (!is_dir($path)) { // 判断目录是否存在
            mkdirs(dirname($path), $mode); // 循环建立目录
        mkdir($path, $mode); // 建立目录
    }
    return true;
}
// 使用示例
echo get_file("http://www.kalvin.cn/index.php");
?>

 

转自:http://www.locoyer.com/archives/222
  评论这张
 
阅读(671)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018