应该是文件上传的一个bug

浏览:75 发布日期:2010/06/06
- 普通 - 未处理
[i=s] 本帖最后由 菜刀 于 2010-6-6 11:28 编辑 [/i]

使用UploadFile.class.php上传图片并自动生成缩略图,参数如下:$upload->savePath =  'upload; 
$upload->autoSub  = 1;
$upload->subType  = 'date';
$upload->dateFormat  = 'Ym';
$upload->thumb = 1;
$upload->thumbPrefix = 'thumb_';
原图片成功上传保存在 "upload/201006/[font=Simsun]4c0b122d24992.jpg[color=#444444][font=Verdana, Helvetica, Arial, sans-serif]"目录下,但并没有成功生成缩略图。[/font][/font][/color]
[font=Simsun]
[/font]

[font=Simsun][color=#444444][font=Verdana, Helvetica, Arial, sans-serif]检查UploadFile.class.php代码发现,在save()方法中,缩略图的保存全名为:"upload/thumb_201006/[font=Simsun]4c0b122d24992.jpg[font=Verdana, Helvetica, Arial, sans-serif][size=14px]",显然“thumb_201006”这个目录是不存在的,所以导致了自动生成缩略图失败。[/font][/font][/size][/font][/font][/color]
[font=Simsun][color=#444444][font=Verdana, Helvetica, Arial, sans-serif][font=Simsun]
[/font]
[/font]
[/font][/color]
其原因是在getSaveName()方法中的如下语句: $saveName   =  $this->getSubName($filename).'/'.$saveName;将自动生成的子目录也作为了文件名的一部分,而生成缩略图时,又在这个saveName前加了“thumb_”的前缀,导致了错误的出现。
评论(
后面还有条评论,点击查看>>