thinkphp5保存远程图片到本地
代码
protected function saveImg($imgUrl){
$ext=strrchr($imgUrl,'.');
if(!in_array($ext,['.jpg','.png','.jpeg','.gif']))
return $imgUrl;
$baseName=basename($imgUrl);
$saveUrl="/upload/img/".$baseName;
//文件保存绝对路径
$path=__DIR__.DS.'../../../public/upload'.DS.$type.DS.$baseName;
$img = file_get_contents($imgUrl);
file_put_contents($path, $img);
return $saveUrl;
}
file_put_contents()方法最好使用绝对路径,如果使用相对路径,在某些情况两个路径指向的目录可能不是同一个,从而会报错:failed to open stream: No such file or directory。
比如说thinkphp5使用workerman爬文章并保存图片时,当使用浏览器或postman通过入口文件测试,则相对路径是相对于入口文件目录,在workerman时是不需要通过入口文件的,此时相对路径则是相对于执行的类的目录 。
thinkphp5保存远程图片到本地的更多相关文章
- php下保存远程图片到本地的函数
<?php header("content-type:text/html;charset=utf-8"); function GrabImage($url,$filename ...
- PHP下载/采集远程图片到本地
/** * 下载远程图片到本地 * * @param string $url 远程文件地址 * @param string $filenNme 保存后的文件名(为空时则为随机生成的文件名,否则为原文件 ...
- wordpress自动保存远程图片插件 DX-auto-save-images
wordpress自动保存远程图片插件DX-auto-save-images 解决了保存文章就可以自动将远程图片保存到你的服务器上了. 具体操作步骤如下: 1.安装启用wordpress自动保存远程图 ...
- php下载远程图片到本地
在使用 PHP 做简单的爬虫的时候,我们经常会遇到需要下载远程图片的需求,所以下面来简单实现这个需求1:使用curl 比如我们有下面这两张图片: $images = [ 'https://img.al ...
- php保存远程图片
php获取远程图片并把它保存到本地 来源: 时间:2013-09-05 19:26:57 阅读数:45006 分享到:1 [导读] 在php中我们经常使用写一些简单的采集功能,这样可以自动把远 ...
- curl获取远程图片存到本地
$url = 'http://sssss/sss/xu0fLo9waqKSTDO7j0kSO41O5Luq3LB6ozUvY4O7OsXUWNicB49fBs8nGYzoqcwGDARQZHpVuic ...
- PHP抓取远程图片到本地保存(如何把错误信息用text文件写入)
最近在工作中需要开发了一个用户素材功能,里面需要将网上的各种图片素材进行本地化存储.于是在网上找了一些相关资料,并根据自身开发需要,整理了一下主要的逻辑代码. /** * PHP将网页上的图片攫取到本 ...
- thinkphp下载远程图片到本地
$url="http://www.test.com/test.jpg";//图片远程地址 $local="./Upload/test/test.jpg";//下 ...
- C# .NET 根据Url链接保存Image图片到本地磁盘
根据一个Image的Url链接可以在浏览器中显示一个图片,如果要通过代码将图片保存在本地磁盘可以通过以下方式: 1.首先获取图片的二进制数组. static public byte[] GetByte ...
随机推荐
- heatmap for arcgisjsapi
在arcgis for js api 环境下使用heatmap插件. 由于最新的heatmap没有提供 for arcgisjsapi 插件,懒得研究新版本代码,所以这里用的还是老版本的heatma ...
- 【题解】洛谷P1941 [NOIP2014TG] 飞扬的小鸟(背包DP)
次元传送门:洛谷P1941 思路 从题意可知 在每个单位时间内 可以无限地向上飞 但是只能向下掉一次 所以我们可以考虑运用背包解决这道题 上升时 用完全背包 下降时 用01背包 设f[x][y]为在坐 ...
- HDU 2079 选课时间(普通型 数量有限 母函数)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2079 选课时间(题目已修改,注意读题) Time Limit:1000MS Memory Li ...
- php-预定义
php预定义异常 Exception是所有异常的基类 属性 message:异常消息内容 code:异常代码 file:抛出异常的文件名 line:抛出异常在该文件的行号 ErrorException ...
- javascript根据文件字节数返回文件大小
function getFileSize(fileByte) { var fileSizeByte = fileByte; var fileSizeMsg = ""; if(fil ...
- Hibernate基础入门
Hibernate是一个开放源代码的对象关系映射框架,它将POJO与数据库表之间建立映射关系.是全自动的ORM框架,可以自动生成SQL语句并自动执行.它对JDBC进行了非常轻量级的封装,使程序员可以随 ...
- 通过遍历JSON键值对获取包含某字符串的键的值_电脑计算机编程入门教程自学
首发于:Aardio通过遍历JSON键值对获取包含某字符串的键的值_电脑计算机编程入门教程自学 http://jianma123.com/viewthread.aardio?threadid=429 ...
- 【CodeForces 129 B】Students and Shoelaces(拓扑排序)
Anna and Maria are in charge of the math club for junior students. When the club gathers together, t ...
- mysql主从延迟复制
需求描述 正常情况下我们是不会有刻意延迟从库的需求的,因为正常的线上业务自然是延迟越低越好.但是针对测试场景,业务上偶尔需要测试延迟场景下业务是否能正常运行. 解决方案 针对这种场景mysql有一个叫 ...
- keil5最新版安装与破解
1. 下载链接: https://pan.baidu.com/s/1BIrhqmxWdHY7hvihE0Wd4A 密码: cp45 2. 解压缩后得到: 3. 运行mdk526.exe安装keil5. ...