需要进行Action的设置,包括UploadFile的文件引入
<?php
/**
* 处理文件上传功能
* @author admin
*
* 上传多文件时;
* 可以在input中个的name中后加入[];例如:file[]
* 或者可以设置标示:file1,file2
*
* 只有在插入数据库的时候才需要进行循环插入
*/
class FileAction extends Action{
public function index(){
$file=M('file');
$list=$file->select();
$this->assign('alist',$list);
$this->display();
}
function upload(){
//经过自定义模型
if (empty($_FILES)){
$this->error("必须选择上传文件");
}else {
$msg = $this->up();
if (isset($msg)){
$result=$this->insertDb($msg);
if ($result){
$this->success('上传成功');
}else{
$this->error('保存出错了那');
}
}else{
$this->error($msg);
}
}
}
private function insertDb($data){
$file=M('file');
$result=true;
for ($i = 0; $i < count($data); $i++) {
$data['filename']=$data[$i]['savename'];
if (!$file->data($data)->add()){
return false;
}
}
return true;
}
private function up(){
import('ORG.Net.UploadFile');
$upload=new UploadFile();
$upload->maxSize='1000000';//大小:-1不限制;单位是bytes
$upload->savePath='./Public/';//上传路径:建议以主路口或者平级目录的子目录来
$upload->saveRule='uniqid';//保存规则:默认是uniqid
$upload->hashType='MD5';//hash验证方法,默认是md5
$upload->autoCheck=false;
$upload->uploadReplace=true;
$upload->allowExts=array('jpg','png');//允许上传的文件格式
$upload->allowTypes=array('image/png','image/jpg');//文件的mime类型
$upload->thumb=true;//是否开启图片文件缩略图
$upload->thumbMaxWidth='100,500';//可以用,分割,写多个最大宽度
$upload->thumbMaxHeight='100,500';//与width一一对应
$upload->thumbPrefix='s_,m_';//缩略图文件前缀,与width一一对应
// $upload->thumbPath='';//缩略图的保存路径,如果为空直接上传至$upload->savePath
// $upload->thumbFile='';//缩略图的文件名,一般不会用,直接用前缀就可以了
$upload->thumbRemoveOrigin=1;//生成新图后是否删除原图
// $upload->autoSub=false;//是否使用子目录进行保存
// $upload->subType='';//子目录创建方式,默认为hash创建,也可以设置为date
// $upload->dateFormat='';//子目录date方式的指定格式
// $upload->hashLevel='';//hash的层级
if ($upload->upload()) {
$msg=$upload->getUploadFileInfo();
dump($msg);
return $msg;
}else {
$this->error($upload->getErrorMsg());
return $upload->getErrorMsg();
}
}
}
?>
html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><!--{$title}--></title>
</head>
<body>
<volist name="alist" id="vo">
<img src="__PUBLIC__/s_<!--{$vo['filename']}-->"/>
<img src="__PUBLIC__/m_<!--{$vo['filename']}-->"/>
</volist>
<form action="__URL__/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file[]">
<input type="file" name="file[]">
<input type="submit" value="提交">
</form>
</body>
</html>
分享到:
相关推荐
本人博客ThinkPHP学习笔记(四)所使用的数据库文件
ThinkPHP学习笔记(五)关联的SQL文件
thinkphp学习笔记参考.pdf
总计php问题,将常见问题总结在一个文档里面方便阅读
thinkphp3.1.2学习笔记,常用的知识点,可以打印出来每天温习一下
个人学习thinkphp所做的笔记,可能尚且不完整
拥有九大类、43页,都是作者在学习thinkphp时候做的学习笔记,此适合刚开始学习thinkphp框架人员和学完后复习所用,对php的语法有些了解的人员。此包含thinkphp介绍、配置文件格式与形式、路由、控制器、请求和响应...
本资源为个人自学thinkphp的笔记,适合thinkphp入门
运用ThinkPHP技术进行上传,上传后可对指定的文件进行物理删除和删除数据库中的指定的名称
thinkphp5 详细笔记新手打基础 快速入门案例 物美价廉,学习参考!!
thinkphp3.2 webuploader较大视频文件分段上传方法demo,大视频分段上传,上传完成后又将分段视频合并成一个视频文件。
thinkphp学习资料大全
ThinkPhp 课堂笔记 总结记录 ThinkPhp 课堂笔记 总结记录 ThinkPhp 课堂笔记 总结记录 ThinkPhp 课堂笔记 总结记录
专题资料
在ThinkPHP中,要实现文件的上传,在编写代码时要知道如何配置
使用Thinkphp3.2进行多文件上传下载管理.上传类型无限制,
文件资料分类上传,可以直接拖拽上传和管理,快速查找
PhpStorm Xampp ThinkPHP 环境配置笔记 需要有一定的 ThinkPHP 基础,至少知道 ThinkPHP 的目录怎么生成的 很多简单的细节我没写,比如 如何使用 perl ,这在 xampp-control 中的 Shell 中进入 php 目录运行指令即可...
自己学习thinkphp笔记心得注意的和常用的地方,thinkphp 学习a标签url href src等路径,一些比较容易理解并且会忘记的注意点