ThinkPHP3.0略缩图不能保存到子目录解决办法总结

 解决办法一(ThinkPHP官方提供的办法,我并没有测试过):升级到ThinkPHP3.1最新的UploadFile.class.php(https://github.com/liu21st/extend/tree/master/Extend/Library/ORG/Net),下载后替换原来的UploadFile.class.php
 

解决办法二:修改UploadFile.class.php的部分代码

这是自己做的解决办法,增加一个略缩图的子目录生成函数

步骤1>>

UploadFile.class.php中模仿getSubName()函数创建一个getThumbSubName()函数

 代码如下 复制代码

private function getThumbSubName($file) {
  switch($this->subType) {
    case 'date':
      $dir = date($this->dateFormat,time());
      break;
    case 'hash':
    default:
      $name = md5($this->thumbPath);
      $dir = '';
      for($i=0;$i<$this->hashLevel;$i++) {
        $dir .= $name{$i}.'/';
      }
      break;
  }
  if(!is_dir(($this->thumbPath).$dir)) {
    mkdir(($this->thumbPath).$dir);
  }
  return $dir;
}

步骤2>>

UploadFile.class.php中158行改为

 代码如下 复制代码

$thumbPath = $this->thumbPath?$this->thumbPath.($this->autoSub?$this->getThumbSubName($file).'/':''):$file['savepath'];

时间: 2025-01-29 21:19:21

ThinkPHP3.0略缩图不能保存到子目录解决办法总结的相关文章

ThinkPHP3.0略缩图不能保存到子目录的解决方法_php实例

解决办法一(ThinkPHP官方提供的办法,我并没有测试过):升级到ThinkPHP3.1最新的UploadFile.class.php(https://github.com/liu21st/extend/tree/master/Extend/Library/ORG/Net),下载后替换原来的UploadFile.class.php 解决办法二:修改UploadFile.class.php的部分代码 这是自己做的解决办法,增加一个略缩图的子目录生成函数步骤1>> UploadFile.clas

php图片上传类,支持加水印,生成略缩图

 代码如下 复制代码 <?php /*----------------------------------------------------------------------------------  *  *----------------------------------------------------------------------------------  */ class image_up{  //定义基本参数  private $uptype=array('image/

上传图片并生成略缩图(c#)

上传|上传图片 参数说明FileBox:上传表单中的表单名SavePath:保存路径ThumbnailWidth:略缩图宽ThumbnailHeight:略缩图高FilePath:文件保存路径(输出参数)FileName:文件名称(输出参数)LastError:(输出错误)public static bool UploadImages(System.Web.UI.HtmlControls.HtmlInputFile FileBox,string SavePath,Int32 ThumbnailW

java 自动生成略缩图示例代码

本篇文章,在前辈的经验基础上,分别对单图生成略缩图和批量生成略缩图做个小结   当你要做一个图库的项目时,对图片大小.像素的控制是首先需要解决的难题. 一.单图生成略缩图单图经过重新绘制,生成新的图片.新图可以按一定比例由旧图缩小,也可以规定其固定尺寸.详细代码如下: 复制代码 代码如下: <SPAN style="FONT-SIZE: 14px">import com.sun.image.codec.jpeg.JPEGImageEncoder; import com.su

java 自动生成略缩图示例代码_java

当你要做一个图库的项目时,对图片大小.像素的控制是首先需要解决的难题.一.单图生成略缩图单图经过重新绘制,生成新的图片.新图可以按一定比例由旧图缩小,也可以规定其固定尺寸.详细代码如下: 复制代码 代码如下: <SPAN style="FONT-SIZE: 14px">import com.sun.image.codec.jpeg.JPEGImageEncoder;import com.sun.image.codec.jpeg.JPEGCodec;import com.su

mac 下编译 ffmpeg的 libaacplus-2.0.2 总是报错求大神解决办法,谁能教我再mac下编译ffmpeg也行

问题描述 mac 下编译 ffmpeg的 libaacplus-2.0.2 总是报错求大神解决办法,谁能教我再mac下编译ffmpeg也行 make[2]: Nothing to be done for `all'. Making all in frontend gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../src -g -O2 -c -o main.o main.c main.c:89:46: warning: data argument not

[分享]重提:上传图片生成略缩图“最佳解决”

问题描述 从用.NetWeb开发到现在所看到的略缩生成代码都不尽人意,要不太局限,要不失真厉害.为此写了一个相对完善的函数供大家学习.其中的SaveIamge函数提供了失真解决方法,对于处理过的图片(如加水印--)要求保持高品质可以直接调用.usingSystem;usingSystem.IO;usingSystem.Drawing;usingSystem.Drawing.Drawing2D;usingSystem.Drawing.Imaging;usingSystem.Drawing.Text

win7系统略缩图错乱怎么办?

  修复Windows7缩略图错乱问题:win7系统预览图片文件缩略图无法显示正常,通常这样的情况若不是中毒,那么就是缓存文件出现问题.我们存储的缓存文件一般都在文件夹中,方便下次使用预览,但有时缓存文件会崩溃,这时就需要重建缓存文件. 1.在开始搜索栏中键入"磁盘清理",然后按回车键打开磁盘清理工具; 2.选择系统盘盘符; 3.现在您需要做的,仅仅是在"要删除的文件"一栏中,勾选"缩略图"项.然后,确认删除. 通过上述的操作步骤可以有效的修复w

使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法_jquery

eval函数可以把一些处理过程序代码进行解析从而达到可以执行的一个状态,查了很多帖子,jqchart插件做折线图时,处理返回数据时全都是eval,但我怎么也弄不出来,后来发现: 1.根本不需要eval处理,直接截取字符串即可(返回值要拼接好): 2.处理好的字符串放进series的data里要加上[]; 下面是代码: html页面<body>标签里面只放了一个<div id="jqChart" style="width: 500px; height: 300