浮叶蓝空的博客
分享学习心得,记录学习笔记
文章:
84
访问:
526041
登录
关于
首页
今天是:
2025年09月09日 星期二
类别
PHP(39)
其他笔记(20)
Java(1)
C++(17)
mysql(2)
JavaScript(4)
近期文章
Linux下Cmake引用第三方静态库示例
Linux下使用Cmake构建静态库示例
Ubuntu设置自动挂载硬盘,挂载U盘
压力测试工具Apache JMeter基本使用
使用PHP脚本借助FFmpeg一键合并视频
Shell中的>、1>、2>、2>&1、&>详解
PHP开启多进程实现异步非阻塞并行执行任务
博主推荐
PHP实现文件下载接口
Qt读写注册表,C++读写注册表
PHP动态修改配置文件,存储为文件
MySql常用语法
Powershell远程连接
PHP从字符串中获取需要的内容部分
封装PHP的HTTP请求
PHP将远程资源保存到本地
fuyelk
2020年05月24日
2223
### php实现将远程资源保存到本地,可用作离线下载功能的一部分。 ```php /** * 将远程资源保存到本地 * @param string $source 资源地址 * @param string $local 本地地址 * @return array */ private function execDown($source,$local) { if (!is_dir(dirname($local))) { mkdir(dirname($local),0755,true); } $localFile = fopen($local, 'w'); $ch = curl_init(); // 初始化 cURL 会话 curl_setopt($ch,CURLOPT_URL,$source); // 远程地址 curl_setopt($ch, CURLOPT_POST, 0); // 非POST请求 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3000); // 最长等待连接成功时间 curl_setopt($ch, CURLOPT_FILE, $localFile); // 本地路径 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // https请求 不验证证书 curl_exec($ch); if (curl_error($ch)) { $res = [ 'status' => 0, 'message' => curl_error($ch), 'time' => 0, 'fileinfo' => [] ]; fclose($localFile); curl_close($ch); return $res; } else { $info = curl_getinfo($ch); curl_close($ch); fclose($localFile); if (filesize($local) != $info['size_download']) { $res = [ 'status' => 0, 'message' => '下载数据不完整,请重新下载', 'time' => $info['total_time'], 'fileinfo' => [] ]; return $res; } $res = [ 'status' => 1, 'message' => '下载完成', 'time' => $info['total_time'], 'fileinfo' => [ 'file_type' => $info['content_type'], 'file_size' => $info['size_download'], 'remote_path' => $source, 'local_path' => $local, ] ]; return $res; } } ```
上一篇:
PHP实现文件下载接口
下一篇:
Powershell脚本强制以管理员身份运行
2人点赞
登录后评论
友情链接
doywb
2018-2025 Copyright© 米灵尔 浮叶蓝空
豫ICP备15007436号-1
豫公网安备 41152302000146号