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 做简单的爬虫的时候,我们经常会遇到需要下载远程图片的需求,所以下面来简单实现这个需求. 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 /** * 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下载远程图片的几种方法总结 本文演示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
随机推荐
- Ueditor和CKeditor 两款编辑器的使用与配置方法
- 一个小型js框架myJSFrame附API使用帮助
- jquery ajax提交表单数据的两种方式
- ECMAScript 6即将带给我们新的数组操作方法前瞻
- Java异常的几个谜题_动力节点Java学院整理
- 正则表达式 传智播客学习
- Android开发之多媒体文件获取工具类实例【音频,视频,图片等】
- python 域名分析工具实现代码
- C#与PHP的md5计算结果不同的解决方法
- css+js实现部分区域高亮可编辑遮罩层
- Android随手笔记44之JSON数据解析
- c#方法重写和隐藏的学习示例
- 十兆空间为您提供20M免费静态空间服务
- Asp.Net Core中WebSocket绑定的方法详解
- 详解Node.js中的Async和Await函数
- Android实现EventBus登录界面与传值(粘性事件)
- pyqt 实现QlineEdit 输入密码显示成圆点的方法
- Java Swing窗体关闭事件的调用关系
- 从dubbo zookeeper注册地址提取出zookeeper地址的方法
- Python 获取中文字拼音首个字母的方法
