php框架

 首页 > php框架 > ThinkPHP > ThinkPHP3.0略缩图不能保存到子目录 - Thinkphp

ThinkPHP3.0略缩图不能保存到子目录 - Thinkphp

分享到:
【字体:
导读:
          THINKPHP3 0上传文件后略缩图不能保存到子目录,是因为UploadFile class php这个上传类中getSubName()函数只能创建原图的子目录而不能创建...

ThinkPHP3.0略缩图不能保存到子目录

THINKPHP3.0上传文件后略缩图不能保存到子目录,是因为UploadFile.class.php这个上传类中getSubName()函数只能创建原图的子目录而不能创建略缩图的子目录,可以说是BUG。

解决办法一: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()函数:

  1. private function getThumbSubName($file) { 
  2.   switch($this->subType) {  
  3.     case 'date'
  4.       $dir = date($this->dateFormat,time());  
  5.       break;  
  6.     case 'hash':  
  7.     default:  
  8.       $name = md5($this->thumbPath); 
  9.       $dir = '';  
  10.       for($i=0;$i<$this->hashLevel;$i++) {  
  11.         $dir .= $name{$i}.'/';  
  12.       } 
  13.       break
  14.   }  
  15.   if(!is_dir(($this->thumbPath).$dir)) { 
  16.     mkdir(($this->thumbPath).$dir);  
  17.   }  
  18.   return $dir

步骤2>>UploadFile.class.php中158行改为

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

分享到:
thinkphp的循环结构 - Thinkphp
thinkphp的循环结构 循环结构,在循环输出中变量不用加$符号 实例1.for (table border=&#039;1&#039; width=&#039;500&#039;)      (for start=&#039;0&#039; end=&#039;10&#039; name=&#039;j&#039; step=&#039;-2&#039; comparison=&#039;gt&#039;)//lt正序step是步调...
ThinkPHP在控制器里的javascript代码不能...
ThinkPHP在控制器里的javascript代码不能执行解决方法 thinkphp在控制器里的网页特效代码不能执行解决方法,就拿“退出”这一项来说吧,我的“退出系统”链接是写到左边的框架里的,用js动态生成的。也就是说,没法通过链接里的target来指定。 view sourceprint?1 $this->assign(&#039;...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……