"xj/yii2-thumb-action": "^2.0"

原本的上传路径是全路径

根据日期生成的上传文件夹 不适用

比如 : upload\article\2016\02\02\abc.jpg

DirectoryPrefix配置需要指定 :article\2016\02\02

修改后只需要指定 article 即可 也就是第一层文件夹名称

// models\FileInfo.php
public static function createByUrl($url)
{
// $config = pathinfo($url); // 原本是通过pathinfo 来设置类的属性
$config = self::getConfig($url); // 修改为用自定义方法
$config['class'] = static::className();
return Yii::createObject($config);
} public static function getConfig($url){
$result = [];
$pos = strpos($url, '/');
if(!$pos){ // 第0个 和 没找到
throw new InvalidConfigException( " 图片路径异常:$url");
}
$result ['dirname'] = substr($url, 0,$pos);
$result['basename'] = substr($url,$pos);
$pos = strrpos($result['basename'],'.');
$result['filename'] = substr($result['basename'],0,$pos);
$result['extension'] = substr($result['basename'],$pos+1);
return $result;
}

亲测可用

/thumb/product/2016/07/23/20160723-23-11-1557938913aea2f_w_100_h_100.png

另注意 路径传递的参数 【w h q t】一定要和配置一致 否则403

YII2 缩略图生成 第三方包修改的更多相关文章

  1. win环境 yii2 框架 overtrue/wechat 包 由 sys_get_temp_dir 引发的 the directory "c:\Windows" is not writable

    vendor\overtrue\wechat\src\Foundation\Application.php registerBase 方法 在初始化属性时 $this['cache'] = funct ...

  2. [转]myeclipse 生成JAR包并引入第三方包

    myeclipse 生成JAR包并引入第三方包 我用的是myeclipse8.0 首先用myeclipse生成JAR 一.生成JAR包 1.点选项目右键—>Export 2.Java—>J ...

  3. Android studio module生成jar包,module中引用的第三方库没有被引用,导致java.lang.NoClassDefFoundError错误。

    android studio 创建了一个Module生成jar包,这个module中有引用一些第三方的类库,比如 gson,volley等. 但是生成的jar包里,并没有将gson,volley等第三 ...

  4. IDEA修改jar包中class文件后重新生成jar包

    一.背景 最新想要修改rebeyond大佬的冰蝎项目,特地去网上搜索如何修改jar包中的源码再替换回去的方法,但由于现在的一些文章写的太烂,导致走了很多弯路,因此写下这篇快速使用IDEA修改源码并替换 ...

  5. python django -6 常用的第三方包或工具

    常用的第三方包或工具 富文本编辑器 缓存 全文检索 celery 布署 富文本编辑器 借助富文本编辑器,管理员能够编辑出来一个包含html的页面,从而页面的显示效果,可以由管理员定义,而不用完全依赖于 ...

  6. 笔记——malloc、free、不同数据类型操作、.pyc文件、python安装第三方包、验证一个网站的所有链接有效性

    C — malloc( ) and free( ) C 语言中使用malloc( )函数申请的内存空间,为什么一定要使用free释放? **malloc()函数功能:是从堆区申请一段连续的空间,函数结 ...

  7. maven将依赖第三方包打包(package)到jar中

    前提:项目是一个纯maven的java工程,通过idea中file-->new-->project-->maven来创建的,不是spring boot工程(不是通过file--> ...

  8. 利用Maven把项目生成jar包供其他项目使用

    每当搭建框架时,第一步就是为系统整理一个接一个的jar包.用多了就开始深思,如何把自己的项目也整成jar包,供他人使用呢? 近期一直在看徐晓斌所著:<Maven实战>.因自己学识不够,只是 ...

  9. go get安装第三方包的前提条件和步骤

    首先,你要找到第三方类包所在的网址, 例如:  http://github.com/go-sql-driver/mysql分为命令行自动安装 和 手动下载 然后安装. ( 欢迎加入go语言群: 218 ...

随机推荐

  1. jquery.validate 使用--验证表单隐藏域

    jQuery validate很不错的一个jQuery表单验证插件.升级到了1.9版的后,发现隐藏表单域验证全部失效,特别是在jquery.ui.tabs.min.js构造的Tabs里的验证. 是因为 ...

  2. ASP.NET中的文件操作(文件信息,新建,移动,复制,重命名,上传,遍历)(亲测详细)

    做了几天的文件操作,现在来总结一下,错误之处,还望指点!以文件为例,如果对文件夹操作,基本上将File换为Directory即可(例:FileInfo file = new FileInfo(Path ...

  3. CocoaPods使用 主要带图。转载。

    原文地址 快速更新,不需要查找更新库 命令:pod update  --verbose --no-repo-update 虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了 ...

  4. MySQL 5.7 解压版安装配置

    测试环境 系统:Windows 10专业版 版本:MySQL Server 5.7.14   提纲 修改配置文件 初始化 安装服务.启动服务 修改root密码   步骤 1.解压安装包 在MySQL官 ...

  5. An entity object cannot be referenced by multiple instances of IEntityChangeTracker.

    如果你和我一样遇到了这个问题,那么你就要检查你要操作的Model对象查询,更新操作的数据库上下文也就是DBContext是否一致.如果不一致也就是说你用AContext去查如AContext.SET& ...

  6. nslookup

    检查DNS http://arch.pconline.com.cn//pcedu/soft/wl/assist/10307/193330.html

  7. MFC编程入门之二十(常用控件:静态文本框)

    上一节讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控 ...

  8. 转:最近5年133个Java面试问题列表

    最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...

  9. windows界面库种类

    访问网址http://www.360doc.com/content/14/0612/20/13826502_386093297.shtml

  10. 数据挖掘算法(一)C4.5

    统计了14天的气象数据D(指标包括outlook,temperature,humidity,windy),并已知这些天气是否打球(play).如果给出新一天的气象指标数据:sunny,cool,hig ...