php原生之实现图片,文件的下载
代码部分还可以进行优化,如有不对的地方,欢迎留言,感激不尽。
判断文件路径是否存在,存在那么就继续进行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | /** * @desc 实现文件下载 * @date 2017/7/11 13:15 * @param [string $url] * @author 1245049149@qq.com * @return [resource] */ public function downPhoto( $url ){ if ( $this ->checkLoad( $url )){ Header( "Content-type: application/octet-stream" ); Header( "Content-Transfer-Encoding: binary" ); Header( "Accept-Ranges: bytes" ); //说明:这里的filename生成下载后的文件名,可以进行优化,生成你自己想要的名字,后缀等等 Header( "Content-Disposition: attachment; filename=" . $url ); return readfile( $url ); } else { return false; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /** * @desc 判断文件路径是否存在 * @date 2017/7/11 13:17 * @param [string $url] * @author 1245049149@qq.com * @return [bool] */ public function checkLoad( $url ){ $ch = curl_init(); $timeout = 10; curl_setopt ( $ch , CURLOPT_URL, $url ); curl_setopt( $ch , CURLOPT_HEADER, 1); curl_setopt ( $ch , CURLOPT_RETURNTRANSFER, 1); curl_setopt ( $ch , CURLOPT_CONNECTTIMEOUT, $timeout ); $contents = curl_exec( $ch ); if ( strpos ( $contents , '200' )){ return true; } else { return false; } } |
搞定!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· Ai满嘴顺口溜,想考研?浪费我几个小时
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密