PHP实现的保存远程文件的函数
来源:爱站网时间:2019-04-20编辑:网友分享
今天这篇文章是爱站技术频道小编为大家介绍的PHP实现的保存远程文件的函数,它的兼容性强,远程文件的可以通过直接调用方便地访问,其实图像也可以通过函数获得。
今天这篇文章是爱站技术频道小编为大家介绍的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实现的保存远程文件的函数介绍,大家了解了多少呢?如在操作过程中有任何疑问,可以在爱站技术频道下方留言,小编将及时为大家解答!