php实现远程网络文件下载到服务器指定目录(方法一)
2017-04-18 20:39
1146 查看
PHP实现远程网络文件下载到服务器指定目录(方法一)
<?php
function getFile($url, $save_dir = '', $filename = '', $type = 0) {
if (trim($url) == '') {
return false;
}
if (trim($save_dir) == '') {
$save_dir = './';
}
if (0 !== strrpos($save_dir, '/')) {
$save_dir.= '/';
}
//创建保存目录
if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {
return false;
}
//获取远程文件所采用的方法
if ($type) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$content = curl_exec($ch);
curl_close($ch);
} else {
ob_start();
readfile($url);
$content = ob_get_contents();
ob_end_clean();
}
//echo $content;
$size = strlen($content);
//文件大小
$fp2 = @fopen($save_dir . $filename, 'a');
fwrite($fp2, $content);
fclose($fp2);
unset($content, $url);
return array(
'file_name' => $filename,
'save_path' => $save_dir . $filename,
'file_size' => $size
);
}
//$url = "http://www.baidu.com/img/baidu_jgylogo3.gif";
//$url="http://192.168.1.212/aaa.doc";
$url="http://192.168.31.1/".urlencode(iconv("GB2312","UTF-8","测试.doc"));
$save_dir = "down/";
//$filename = "baidu_jgylog1o31.gif";
$filename ="学习1.doc";
$res = getFile($url, $save_dir, $filename,1);//0 1 都是好使的
var_dump($res);
备注说明:
如果远程文件的命名是英文的话可以直接下载就可以了,如果远程文件名是中文的,必须转换成utf-8的编码格式,然后再urlencode转换成url加密的格式,
php的代码程序的编码是gb2312。
<?php
function getFile($url, $save_dir = '', $filename = '', $type = 0) {
if (trim($url) == '') {
return false;
}
if (trim($save_dir) == '') {
$save_dir = './';
}
if (0 !== strrpos($save_dir, '/')) {
$save_dir.= '/';
}
//创建保存目录
if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {
return false;
}
//获取远程文件所采用的方法
if ($type) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$content = curl_exec($ch);
curl_close($ch);
} else {
ob_start();
readfile($url);
$content = ob_get_contents();
ob_end_clean();
}
//echo $content;
$size = strlen($content);
//文件大小
$fp2 = @fopen($save_dir . $filename, 'a');
fwrite($fp2, $content);
fclose($fp2);
unset($content, $url);
return array(
'file_name' => $filename,
'save_path' => $save_dir . $filename,
'file_size' => $size
);
}
//$url = "http://www.baidu.com/img/baidu_jgylogo3.gif";
//$url="http://192.168.1.212/aaa.doc";
$url="http://192.168.31.1/".urlencode(iconv("GB2312","UTF-8","测试.doc"));
$save_dir = "down/";
//$filename = "baidu_jgylog1o31.gif";
$filename ="学习1.doc";
$res = getFile($url, $save_dir, $filename,1);//0 1 都是好使的
var_dump($res);
备注说明:
如果远程文件的命名是英文的话可以直接下载就可以了,如果远程文件名是中文的,必须转换成utf-8的编码格式,然后再urlencode转换成url加密的格式,
php的代码程序的编码是gb2312。
相关文章推荐
- php实现远程网络文件下载到服务器指定目录(方法一)
- php实现远程网络文件下载到服务器指定目录(方法二)
- php实现远程网络文件下载到服务器指定目录(方法二)
- php实现远程网络文件下载到服务器指定目录(方法一)
- JSP实现远程文件下载保存到服务器指定目录中的方法
- JSP实现远程文件下载保存到服务器指定目录中的方法
- php实现将远程文件下载保存到服务器指定文件夹
- php带密码功能并下载远程文件保存本地指定目录 修改加强版
- php实现删除指定目录下相关文件的方法
- php 打包下载服务器上指定目录的文件
- Delphi7 中利用Indy的TidFtp客户端控件实现在服务器指定目录下下载需要的文件
- php实现删除指定目录下相关文件的方法
- php远程抓取(下载)文件到本项目指定目录中
- PHP简单实现生成txt文件到指定目录的方法
- PHP实现从远程下载文件的方法
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
- Asp.net获取服务器指定文件夹目录文件并提供下载的方法
- php带密码功能并下载远程文件保存本地指定目录 修改加强版
- PHP简单实现生成txt文件到指定目录的方法
- Asp.net获取服务器指定文件夹目录文件并提供下载的方法