`
hawaii162162
  • 浏览: 76131 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

php fopen下载远程文件的函数

PHP 
阅读更多

这几天给客户写的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'); 
?> 

 

分享到:
评论

相关推荐

    浅谈php fopen下载远程文件的函数

    总结起来,`fopen()` 在PHP中是一个非常基础且灵活的文件操作函数,不仅可以用来读取和写入本地文件,还可以用于下载远程文件。然而,在实际项目中,还需要结合其他函数和技巧,以应对不同的需求和挑战。

    fopen函数php文件

    根据提供的文件标题、描述、标签以及部分内容,我们可以总结出关于 PHP 中 `fopen` 函数的相关知识点。 ### 标题:fopen函数php文件 ### 描述:此部分描述似乎与实际内容不符,因此我们将忽略描述中的内容,直接...

    一个读取远程文件的php函数类.zip

    PHP提供了多种方法来读取远程文件,如`file_get_contents()`函数,`fopen()`和`fread()`组合,或者使用cURL库。在这个函数类中,可能采用了其中的一种或多种技术。 1. `file_get_contents()`:这是一个非常简单且...

    PHP远程文件下载解压压缩包.zip文件file文件操作类

    这将自动下载文件并解压到指定的目录,更新本地文件。 总的来说,PHP通过内置的函数和类库,可以方便地处理远程文件下载和解压任务,为多站点管理和程序更新提供了便利。这个过程需要注意文件权限、错误处理以及...

    php远程文件下载类.zip

    // 使用file_get_contents下载文件 $fileContent = file_get_contents($remoteUrl); // 写入文件 if ($fileContent === false) { throw new Exception('Failed to download the remote file.'); } file_put_...

    PHP中通过fopen&#40;&#41;函数访问远程文件示例

    fopen() 函数是PHP中用于打开文件或URL的内置函数,它不仅可以打开本地文件系统中的文件,还可以通过HTTP或FTP协议来打开远程服务器上的文件。使用fopen() 访问远程文件具有重要意义,它允许开发者直接在PHP脚本中...

    PHP下载远程图片保存到本地类.zip

    3. **打开远程文件**:使用`fopen()`函数以读取模式打开远程URL,可能需要配合`stream_context_create()`创建一个带有特定选项的流上下文,如设置HTTP头或处理代理。 4. **读取数据**:通过`fpassthru()`或`fgets()...

    基于PHP的小哦远程文件下载程序源码 php版.zip

    开发者可能利用了PHP的fopen(), fread(), fpassthru()等函数来读取和发送文件内容,或者使用file_get_contents()函数直接获取远程文件内容。 在【压缩包子文件的文件名称列表】中,我们看到"132685341559229635",...

    PHP实例开发源码—小哦远程文件下载程序源码 php版.zip

    这个程序的主要目标是实现通过PHP脚本来从互联网上的指定位置下载文件到用户的本地设备。在进行PHP编程时,了解如何处理远程文件下载是非常重要的技能,尤其是在构建Web应用或服务时。 首先,我们来讨论PHP中的文件...

    php获取远程文件内容的函数

    在PHP编程中,获取远程文件内容是一个常见的任务。...以上就是PHP获取远程文件内容函数的主要知识点,通过这个函数,可以方便地在PHP项目中实现远程数据的下载和处理,希望对学习PHP程序设计的读者有所帮助。

    从性能方面考虑PHP下载远程文件的3种方法

    首先,我们要了解PHP中基本的文件下载方式是通过`file_get_contents()`或`fopen()`函数。这两种方法都相对简单,适用于下载小文件。当使用`file_get_contents()`函数时,它会读取远程文件内容并将其保存到本地变量中...

    php下载文件file_get_contents php input

    在PHP中,`file_get_contents`函数是一个非常实用的工具,用于从各种源获取数据,包括从URL下载文件。在处理文件下载时,这个函数能够直接读取远程文件内容并将其保存到本地,或者直接输出到浏览器供用户下载。本文...

    PHP 获取远程文件内容的函数代码

    当`file_get_contents`函数不可用时,可以使用`fopen`函数以URL方式打开文件,但需要确保PHP配置允许将URL当作文件来处理,即`allow_url_fopen`选项需设置为`On`。`fopen`函数需要以`"rb"`模式打开,以保证二进制...

    PHP远程文件包含列

    4. **安全配置**:在PHP配置文件中禁用危险的函数,如`allow_url_fopen`应设置为`Off`。 5. **代码审查**:定期进行代码审查,特别是那些处理用户输入的部分,确保没有潜在的安全风险。 通过以上措施,可以有效地...

    PHP下载远程文件到本地存储的方法

    本文将详细介绍如何使用PHP下载远程文件到本地存储的方法,并通过两个函数实例分析PHP远程文件操作的技巧。 首先,PHP提供了file_get_contents函数,它能够读取远程文件的内容,并将其作为字符串返回。这是一个非常...

    php下载远程大文件(获取远程文件大小)的实例

    1. **获取远程文件大小**:在下载文件前,通常需要先知道文件的大小,以便于进度显示或者判断是否可以成功下载。在PHP中,我们可以使用`get_headers()`函数来获取HTTP响应头信息,其中`Content-Length`字段就包含了...

    php远程下载文件并保存

    该脚本定义了一个名为`getFile`的函数,用于实现从远程服务器下载文件,并将其保存到本地指定目录的功能。 - **函数签名**: ```php function getFile($url, $save_dir = '', $filename = '', $type = 0) ``` -...

    php打开文件fopen函数的使用说明

    `fopen()` 函数是 PHP 中用于打开文件或 URL 的核心函数,它的使用灵活且功能强大。函数的基本语法如下: ```php resource fopen(string $filename, string $mode [, bool $use_include_path [, resource $context]...

    php函数 函数例子源码格式

    5. **网络通信函数**:`fopen()`和`fwrite()`用于打开和写入文件,常用于HTTP请求,`file()`将整个文件读入数组,方便处理远程文件。 6. **日期和时间函数**:`date()`格式化当前日期和时间,`strtotime()`将日期或...

Global site tag (gtag.js) - Google Analytics