PHP下载远程图片的几种方法总结
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); }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
解析php下载远程图片函数 可伪造来路
gurl 要下载的图片地址$rfurl 来路.如果目标图像做了防盗链设置,可以绕过.$filename 下载图片保存的文件名,相对路径,不要用realpath$gcookie 调整cookie 伪造的cookie$JumpCount 跳转计数$maxtime 最大次数调用方法:DownImageKeep("http://www.baidu.com/img/baidu_jgylogo2.gif","http://baidu.com","a.gif"
-
PHP实现的下载远程图片自定义函数分享
复制代码 代码如下: <?php /** * PHP下载远程图片到本地 * * @param $url string 远程文件地址 * @param $filename string 保存后的文件名(为空时则为随机生成的文件名,否则为原文件名) * @param $fileType array 允许的文件类型 * @param $dirName string 文件保存的路径(路径其余部分根据时间系统自动生成) * @param $type int 远程获取文件的方式 * @ret
-
PHP下载远程图片并保存到本地方法总结
1.获取远程文件大小及信息的函数 function getFileSize($url){ $url = parse_url($url); if($fp = @fsockopen($url['host'],empty($url['port'])?80:$url['port'],$error)){ fputs($fp,"GET ".(empty($url['path'])?'/':$url['path'])." HTTP/1.1\r\n"); fputs($fp,&qu
-
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
Http类在目录ThinkPHP/Lib/ORG/Net下面.接下来看看是如何调用的. 复制代码 代码如下: <?php import("Com.Buyback.QueryAmazon"); import("ORG.Net.Http"); class Image { public static function getImage($isbn) { $bookInformModel = D("bookinform"); $result = $
-
PHP实现下载远程图片保存到本地的方法
在使用 PHP 做简单的爬虫的时候,我们经常会遇到需要下载远程图片的需求,所以下面来简单实现这个需求. 1.使用 curl 比如我们有下面这两张图片: $images = [ 'https://dn-laravist.qbox.me/2015-09-22_00-17-06j.png', 'https://dn-laravist.qbox.me/2015-09-23_00-58-03j.png' ]; 第一步,我们可以直接来使用最简单的代码实现: function download($url, $
-
PHP下载远程图片的几种方法总结
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($f
-
从性能方面考虑PHP下载远程文件的3种方法
今天在做导出Excel的时候,总是要测试导出的Excel文件,频繁的下载和打开,很麻烦就想着写段代码一气呵成 服务端导出Excel==>下载Excel文件到本地==>并打开的操作. 这里摘出PHP下载远端文件的方案,以备忘.其中第3种方法考虑到文件过大时的性能问题. 3种方案: -rw-rw-r-- 1 liuyuan liuyuan 470 Feb 20 18:12 test1_fopen.php -rw-rw-r-- 1 liuyuan liuyuan 541 Feb 20 18:06
-
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
本文实例讲述了PHP基于imagick扩展实现合成图片的两种方法.分享给大家供大家参考,具体如下: 方法一:compositeimages /** * function: 合成图片 * @param string $output_url 图片保存路径 * @param string $img_type 图片保存类型 * @param integral $line_num 每行显示图片数量 * @param array $logo_info 每张待合成图片的信息(要求所有尺寸统一) * @para
-
php 根据URL下载远程图片、压缩包、pdf等文件到本地
1.此方法可以下载图片.压缩包.pdf(亲测),应该所有类型的文件都可以下载到本地,可以试一下 //远程路径,名称,文件后缀 function downImgRar($url,$rename,$ext){ switch ($ext) { case 'jpg': //下载图片 $file_path = 'uploads/images/'; break; case 'png': //下载图片 $file_path = 'uploads/images/'; break; case 'pdf': //下
-
解决阿里云OSS使用URL无法访问图片的两种方法
一.问题概述: 1.使用URL访问OSS存储的图片时显示XML代码 2.使用URL访问OSS存储的图片时自动下载 二.解决方式: 如果大家对HTTP头部内容不清晰的可以去百度了解一下再看 解决问题一: 问题一出现的原因:因为在OSS的Bucket权限设置为私有 解决方式:将Bucket权限设置为公共读即可.但是我猜你之后多半会遇到第二个问题,那么就来解决第二个问题. 解决问题二: 问题二出现的原因:没有对HTTP头进行设置,但是在阿里云2020年新发布的通知中需要自定义域名,使用默认域名时为下载
-
php采集内容中带有图片地址的远程图片并保存的方法
本文实例讲述了php采集内容中带有图片地址的远程图片并保存的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: function my_file_get_contents($url, $timeout=30) { if ( function_exists('curl_init') ) { $ch = curl_init(); curl_setopt ($ch, curlopt_url, $url); curl_setopt ($ch, curlopt_retu
-
Java Swing实现窗体添加背景图片的2种方法详解
本文实例讲述了Java Swing实现窗体添加背景图片的2种方法.分享给大家供大家参考,具体如下: 在美化程序时,常常需要在窗体上添加背景图片.通过搜索和测试,发现了2种有效方式.下面分别介绍. 1. 利用JLabel加载图片 利用JLabel自带的setIcon(Icon icon)加载icon,并设置JLabel对象的位置和大小使其完全覆盖窗体.这是一个很取巧的办法,代码非常简单,如下所示. JLabel lbBg = new JLabel(imageIcon); lbBg.setBound
随机推荐
- vue之nextTick全面解析
- Angular发布1.5正式版,专注于向Angular 2的过渡
- 深入浅析AngularJS和DataModel
- WIN2003服务器安全配置终极技巧第1/6页
- 星外虚拟主机访问被控出现Unspecified error解决方法
- Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
- JavaScript实现简单的日历效果
- SQL为查询的结果加上序号(ROW_NUMBER) 合并多个查询结果
- IE6下JS动态设置图片src地址问题
- 纯JSP+DWR实现三级联动下拉选择菜单实现技巧
- Javascript中3个需要注意的运算符
- php 读取shell管道传输过来的内容
- 一天一个shell命令 linux文件操作系列-ln命令详解
- C#实现json格式转换成对象并更换key的方法
- 利用JQuery直接调用asp.net后台的简单方法
- Actionscript与javascript交互实例程序(修改)
- java数据结构与算法之noDups去除重复项算法示例
- Android中ScrollView嵌套GridView的解决办法
- Java中的日期和时间类以及Calendar类用法详解
- JavaScript跨域方法汇总