您的位置:首页 > 编程语言 > PHP开发

ThinkPHP中图片上传(批量上传)

2013-05-30 20:23 369 查看
Action中:

//图片上传和图片批量上传图片

public function img(){

$this->display(img);

}

public function upload(){

import('@.ORG.Util.UploadFile');

//2,实例化对象,调用对象的方法

$file = new UploadFile();

//3,上传的话需要做一些设置

//默认情况下是-1,代表不限制文件的大小

$file ->maxSize = '10000000000';

//allowExts 设置上传文件的扩展名

$file ->allowExts = array('jpg','gif','png','jpeg');

//允许上传文件的类型

$file ->allowTypes = array('image/png','image/jpg','image/pjpeg','image/gif','image/jpeg');

//对上传文件进行缩略图处理

$file->thumb = true;

//缩略图的最大的宽度

$file->thumbMaxWidth = '100,30';

//缩略图的最大的高度

$file->thumbMaxHeight = '100,30';

//缩略图的前缀

$file->thumbPrefix = 's_,m_';

// 缩略图保存路径

$file->thumbPath='./Public/Images/';

//如果上传的图片和原图一样,是否删除原图

$file->thumbRemoveOrigin = false;

// 上传文件保存路径

$file->savePath = './Public/Upload/';

// 存在同名是否覆盖

$file->uploadReplace = true;

if($file->upload()){

$info = $file->getUploadFileInfo();

return $info;

}else{

$this->error($file->getErrorMsg());

}

}

public function insert(){

if(empty($_FILES)){

$this->error('请选择需要上传的文件');

}else{

$data = $this -> upload();

if(isset($data)){

//如果上传文件的信息不为空,我们就将这些信息保存到数据库中

$this->db_img($data);

}else{

$this->error('插入到数据库失败');

}

}

}

public function db_img($data){

$img=M('File');

$list=$img->field('file_name')->select();

//var_dump($list);

$this->assign('list',$list);

$this->display(img);

for ($i=0;$i<count($data);$i++){

$data['file_name']=$data[$i]['savename'];

$img->data($data)->add();

}

}

模板文件中:

<form action='__URL__/insert' method='POST' enctype='multipart/form-data'>

<input type='file' name='file[]'/><br/>

<input type='file' name='file[]'/><br/>

<input type='file' name='file[]'/><br/>

<input type='submit' value='上传'/>

</form>

<volist name='list' id='vo'>

小图:<img src='/Thinkphp/PUBLIC/Images/s_{$vo.file_name}'/>

大图:<img src='/Thinkphp/PUBLIC/Images/m_{$vo.file_name}'/>

</volist>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: