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 ...
随机推荐
- 关于PHP数组你应该知道的事情
(1).PHP数组的遍历顺序 先举个栗子: <?php $arr['a'] = '123'; $arr['b'] = '456'; $arr['c'] = '789'; foreach($a a ...
- mybatis全局配置文件
一.properties:引入外部配置文件 1.resource :引入类路径下的全局配置文件,例如:<properties resource="conf/dbconfig.prope ...
- supervisord的配置
https://blog.csdn.net/xyang81/article/details/51555473 这位大佬写的很详细 你们可以去参考一下
- java 编写小工具 尝试 学习(六)
1.java 布局管理器-布局管理器之null布局(空布局) 的 学习,参考大神教程:http://www.cnblogs.com/liaoliao/p/5009445.html import jav ...
- OSTimeDlyHMSM函数
1.os_time.c里面 #if OS_TIME_DLY_HMSM_EN > 0 INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U ...
- .net 网站中如何动态播放音乐,页面如何播放音乐
向别人请教有好处也有坏处,好处是你可以相对比较快的知道要点,坏处就是你TM的发现你弄了那么久都是白弄. 昨天今天一直在找一个问题的解决方案,我的问题描述大概是这样子的:我用vs2012开发的.net网 ...
- Oracle 缓存命中率问题一则(里面有个问题咨询大佬们)
近日,核心数据库频繁抱出数据库缓存命中率过低,于是开始进行排查. 1.监控软件告警信息 2.抓取告警时间段内的awr报告进行分析 3.execute与parse命中率过低,说明分析(硬解析与软解析)的 ...
- 曾经被UITextField给坑一把
UITextField *tfText = [[UITextField alloc] initWithFrame:CGRectMake(30, 150, self.view.frame.size.wi ...
- 20181030NOIP模拟赛T2
WYT的刷子 WYT有一把巨大的刷子,刷子的宽度为M米,现在WYT要使用这把大刷子去粉刷有N列的栅栏(每列宽度都为1米:每列的高度单位也为米,由输入数据给出). 使用刷子的规则是: 1.与地面垂直,从 ...
- Mybartis逆向工程
Mybartis逆向工程 0.创建工程项目,切记莫用中文,亲测在运行时报错 1.Pom文件,使用mybatis-generator插件 <?xml version="1.0" ...