首页 > 编程 > Ruby > 正文

PHP实现的保存远程文件的函数

2020-02-24 15:40:03
字体:
来源:转载
供稿:网友

今天这篇文章是武林技术频道小编为大家介绍的PHP实现的保存远程文件的函数,它的兼容性强,远程文件的可以通过直接调用方便地访问,其实图像也可以通过函数获得。

先上代码:

 

复制代码 代码如下:

/**
 * 保存文件到本地
 * @param 文件路径 $url
 * @param 保存本地路径 $savePath
 * @return string
 */
function downloadFile($url,$savePath='')
{
    $fileName = getUrlFileExt($url);
        $fileName = rand(0,1000).$fileName;
    $file = file_get_contents($url);
    file_put_contents($savePath.'/'.$fileName,$file);
        return $fileName;
}
 
/**
 * 获取文件扩展名
 * @param 网页URL $url
 * @return string
 */
function getUrlFileExt($url)
{
    $ary = parse_url($url);
    $file = basename($ary['path']);
    $ext = explode('.',$file);
    return $ext[1];
}

 

示例:

 

复制代码 代码如下:

downloadFile("http://blog.jb51.net/wp-content/themes/inove/img/mei.png","/upload/2012/01/")

 

file_get_contents(path) 函数和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串。path是必须的参数,规定要读取的文件。

file_put_contents(file,data) 函数是把一个字符串写入文件中。与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。file是必需参数,规定要写入数据的文件。如果文件不存在,则创建一个新文件。data是要写入的数据,可以是字符串、数组或数据流。

parse_url()则可以抓取分析url的信息,我们这里用它来获取文件的名称

官方给的示例:

 

复制代码 代码如下:

$ php -r 'print_r(parse_url("http://invalid_host..name/"));'
Array
(
    [scheme] => http
    [host] => invalid_host..name
    [path] => /
)

上文是PHP实现的保存远程文件的函数介绍,大家了解了多少呢?如在操作过程中有任何疑问,可以在武林技术频道下方留言,小编将及时为大家解答!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选