PHP下载远程图片的几种方法总结

本文演示3个从远程URL下载图片,并保存到本地文件中的方法,包括file_get_contents,curl和fopen。

1、使用file_get_contents

function dlfile($file_url, $save_to)
{$content = file_get_contents($file_url);file_put_contents($save_to, $content);
}

2、使用CURL

function dlfile($file_url, $save_to)
{$ch = curl_init();curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch,CURLOPT_URL,$file_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $file_content = curl_exec($ch);curl_close($ch);$downloaded_file = fopen($save_to, 'w');fwrite($downloaded_file, $file_content);fclose($downloaded_file);
}

3、使用fopen

function dlfile($file_url, $save_to)
{$in=  fopen($file_url, "rb");$out=  fopen($save_to, "wb");while ($chunk = fread($in,8192)){fwrite($out, $chunk, 8192);}fclose($in);fclose($out);
}

下载与保存完整方法(输出日志那行可删除):

    private function downloadImage($url){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);$file = curl_exec($ch);curl_close($ch);$this->saveAsImage($url, $file);}private function saveAsImage($url, $file){$filename = pathinfo($url, PATHINFO_BASENAME);$dirname = pathinfo(parse_url($url, PHP_URL_PATH), PATHINFO_DIRNAME);$path =  'public' . $dirname . '/';$fullpath =  'public' . $dirname . '/' . $filename;// 如果目录不存在,则创建if(!is_dir($path)) {mkdir($path, 0777, true);}if(file_exists($fullpath)) {//$this->output->writeln("【已存在】输出路径" . $fullpath);} else {$resource = fopen($fullpath, 'a');fwrite($resource, $file);fclose($resource);//$this->output->writeln("【已保存】输出路径" . $fullpath);}}

PHP下载远程图片的几种方法总结相关推荐

  1. php 批量下载远程图片大小,php 下载远程图片 的几种方法

    1.获取远程文件大小及信息的函数 function getFileSize($url){ $url = parse_url($url); if($fp = @fsockopen($url['host' ...

  2. php下载远程文件(图片)的三种方法

    1. 使用file_get_contents 和 file_put_contents 方法下载远程图片: <?phpfunction download_remote_file($file_url ...

  3. 测试Python下载图片的三种方法

    简 介: 通过Python软件包对网络URL图片链接进行下载,可以加快后期处理.本文测试了urllib, request两个软件包对图片进行下载效果.如果图片原网页有了防止下载机制,是无法下载图片. ...

  4. php 远程图片大小,PHP下载远程图片并保存到本地方法总结

    这篇文章主要介绍了PHP下载远程图片并保存到本地方法总结的相关资料,需要的朋友可以参考下 1.获取远程文件大小及信息的函数 function getFileSize($url){ $url = par ...

  5. 前端下载图片的N种方法

    前几天一个简单的下载图片的需求折腾了我后端大佬好几天,最终还是需要前端来搞,开始说不行的笔者最后又行了,所以趁着这个机会来总结一下下载图片到底有多少种方法. 先起个服务 使用expressjs起个简单 ...

  6. php完美实现下载远程图片保存到本地(保存微信头像)

    2019独角兽企业重金招聘Python工程师标准>>> /** * php完美实现下载远程图片保存到本地 * @param: 文件url,保存文件目录,保存文件名称,使用的下载方式 ...

  7. mac 如何查看anaconda的路径_Mac OS如何直接查看gif图片?分享MAC直接查看gif图片的三种方法...

    想必许多刚入手Mac的用户在浏览GIF图片文件时,会发现Mac不能直接打开GIF,因此有的用户为了方便查看还特意去下载了GIF的图片查看器,其实在Mac中有多种能够直接打开GIF的方法,用户无需任何第 ...

  8. php curl 下载图片,CURL实现下载远程图片并保存到本地

    WEB开发中我们经常使用一些简单的采集功能,这样可以自动把远程服务器的图片或资源直接采集保存到本地服务器中:实现下载远程图片并把它保存到本地有很多方法,比如可以直接能过file_get_content ...

  9. php远程读取几行文件,PHP读取远程文件的三种方法

    PHP读取远程文件的三种方法 (2008-08-01 14:29:55) 标签: php 下载远程文件 it HP读取远程文件的几种方法,做采集的第一步就是读取远程文件- 1.file_get_con ...

  10. html页面转换成图片的三种方法——canvas、dom-to-image、html2canvas

    html页面转换成图片的三种方法--canvas.dom-to-image.html2canvas canvas绘制网络图片报错(跨域) 使用canvas将html页面转成图片 dom-to-imag ...

最新文章

  1. USTC并行计算复习
  2. 维护表读写的权限对象
  3. mac下的apache项目发布出现403
  4. 浅析Linux线程调度
  5. C/C++语言链表的排序与查找定位
  6. sqlite中的命令
  7. codeforces1453 E. Dog Snacks
  8. 娜塔莉波特曼2015哈佛毕业演讲
  9. 跨境电商ERP系统有几大功能?
  10. 超材料技术行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  11. ASP.NET MVC模型绑定int超出范围时
  12. php 模拟提交金数据,小程序提交表单到金数据实例
  13. Python练习题——快乐数字
  14. Guass消元 poj 1830
  15. Cocos2dx3.2学习准备(一):C++11新特性
  16. 04 : mysql 基础命令操作,字符集
  17. Photoshop如何使用蒙版之实例演示?
  18. 知乎万赞:什么样的程序员在35岁以后依然被公司抢着要?打破程序员“中年危机”
  19. 2021-03-14我的博客
  20. #1265 - Data truncated for column

热门文章

  1. 浅谈“Robots文件信息泄露”
  2. html table最小宽度,table宽度比tbody多1
  3. 黄冈市2021高考成绩查询系统,黄冈师范学院
  4. 线性代数学习笔记(七)——克莱姆法则
  5. IT服务外包的必要性
  6. 路胜与阿斯利康达成战略合作;施乐辉携手镁信健康发布PICO;张云出任药研社首席运营官 | 医药健闻...
  7. 简易打折,输入数量金额然后计算打折
  8. 机器学习-基础知识 - Precision, Recall, Sensitivity, Specificity, Accuracy, FNR, FPR, TPR, TNR, F1 Score
  9. 1467 Radio Transmission
  10. length php,length与size()使用对比