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();
    }
    $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
    );
}
$url = "http://www.baidu.com/img/baidu_jgylogo3.gif";
$save_dir = "down/";
$filename = "test.gif";
$res = getFile($url, $save_dir, $filename, 1);
var_dump($res);
?>
时间: 2024-10-24 19:01:23

php远程下载文件并保存到指定路径的相关文章

PHP CURL实现远程下载文件到本地

<?php //$result=httpcopy('http://www.phpernote.com/image/logo.gif'); echo '<pre>';print_r($result); function httpcopy($url,$file='',$timeout=60){ $file=empty($file)?pathinfo($url,PATHINFO_BASENAME):$file; $dir=pathinfo($file,PATHINFO_DIRNAME); !i

JAVA远程下载文件并读取实例方法

简单的文件下载后读取显示,该方法可返回内容的结果集.一般适用于文本文档的下载,以供学习交流. ** * 远程下载文件并读取返回p * @param filePath 文件网络地址 如http://www.baidu.com/1.txt * @return String */ public String DownAndReadFile(String filePath){ String date = new SimpleDateFormat("yyyy-MM-dd").format(new

Winform 根据Point截图并保存到指定路径

1 /// <summary> 2 /// 获取图片流 3 /// </summary> 4 /// <param name="ImageXY">图片屏幕起始点</param> 5 /// <param name="ImageSize">图片大小</param> 6 /// <returns></returns> 7 public string CutImage(Poin

nodejs 剪切图像在上传,并保存到指定路径下(./public/img/&#39; + req.session.token + &#39;.jpg‘)

前jQuery端接收数据 function upAvatar(img){ console.log(img); // data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMD…/7vA+eq/xZAlzs/wBYlP8AtlpRRXcc9h++B/8AVyJRs30UVRkM2e9M8s+tFFSBE6UUUUGp/9k= $.ajax({ url:'/user/upload', type:'PUT',

android命令模式IntentService 远程下载文件

服务可用在一下情景: 1,用户离开activity后,仍需要继续工作,例如从网络下载文件,播放音乐. 2,无论activity出现或离开,都需要持续工作,例如网络聊天应用. 3,连接网络服务,正在使用一个远程API提供的服务. 4,定时触发的任务 1.因为IntentService是Service子类,所以也需要在manifest中声明服务 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns

linux远程下载文件 的两种方法之 ftp命令和scp命令

ftp命令: 服务器有安装ftp Server,另外一台linux可以使用ftp的client程序来进行文件的拷贝读取和下载. 1. 连接ftp服务器  格式:ftp [hostname| ip-address] a)在linux命令行下输入:ftp 192.168.26.66 b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可. 2. 下载文件 下载文件通常用get和mget这两条命令. a) get  格式:get [remote-file] [local-file] 将

Linux远程下载文件的两种方法之 ftp命令和scp命令

ftp命令: 服务器有安装ftp Server,另外一台linux可以使用ftp的client程序来进行文件的拷贝读取和下载. 1. 连接ftp服务器  格式:ftp [hostname| ip-address] a)在linux命令行下输入:ftp 192.168.26.66 b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可. 2. 下载文件 下载文件通常用get和mget这两条命令. a) get  格式:get [remote-file] [local-file] 将

android中使用Http下载文件并保存到本地SD卡

---恢复内容开始--- 1.AndroidMainfest.xml中设置权限 1 <uses-permission android:name="android.permission.INTERNET"></uses-permission> 2 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission

php远程下载文件

<?php /* 本源码来源于网络 http://user.qzone.qq.com/292672703 */ header("content-Type: text/html; charset=utf-8"); //定义编码 set_time_limit (0);//不限时 24 * 60 * 60 //语言包数组 $lang_cn = array ( '0' => '文件地址', '1' => '输入密码', '2' => '下载耗时', '3' =>