一个thinkphp的上传model、调用的是thinkphp自带的上传类、增加了几个参数、省的自己定义了。代码如下:
<?php
class UploadModel extends Model{
/**
*$name 表单名称
*$dir 上传路径 基于Pubic/Upload/下
*$prefix 文件前缀
*$width 生成图片宽度
*$height 生成图片高度
*/
public function uploadimg($name = 'left',$dir='',$prefix='default_',$width="100",$height="100"){
$var = $_FILES[$name]['name'];
if(!in_array('',$_FILES[$name]['name'])){
import('ORG.Net.UploadFile');
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->saveRule = time;
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg','swf');// 设置附件上传类型
$upload->savePath = './Public/upload/'.$dir ."/";// 设置附件上传目录
$upload->thumb = true;
$upload->thumbPrefix = $prefix;
$upload->thumbMaxWidth = $width;
$upload->thumbMaxHeight = $height;
if(!$upload->upload()) {// 上传错误提示错误信息
echo $upload->getErrorMsg();die;
}else{
$info = $upload->getUploadFileInfo();
return $info['0']['savename'];
}
}else{
return false;
}
}
}
?>
在Action中调用的话就用:
/**
*uploadimg方法参数介绍
*$name 表单名称
*$dir 上传路径 基于Pubic/Upload/Brands/下
*$prefix 文件前缀
*$width 生成图片宽度
*$height 生成图片高度
*/
public function upload(){
$upload = D('Upload');
$img = $upload->uploadimg('left','Left','left_','200','200');
}
$img返回上传成功图片的名称 |
|