ThinkPHP文件上传实例教程
2023-06-13 09:15:44 时间
文件上传是很多PHP程序项目中常见的一个功能,今天本文就来分享一个完整的实例,来实现ThinkPHP文件上传的功能。具体方法如下:
一、action部分:
FileAction.class.php页面代码如下:
<?php classFileActionextendsAction{ functionindex(){ $file=M("file"); $list=$file->select(); $this->assign("filelist",$list); $this->display(); } functionupload(){ //文件上传地址提交给他,并且上传完成之后返回一个信息,让其写入数据库 if(empty($_FILES)){ $this->error("必须选择上传文件"); }else{ $a=$this->up(); if(isset($a)){ //写入数据库的自定义c方法 if($this->c($a)){ $this->success("上传成功"); } else{ $this->error("写入数据库失败"); } }else{ $this-error("上传文件异常,请与系统管理员联系"); } } } privatefunctionc($data){ $file=M("file"); $num="0"; for($i=0;$i<count($data)-1;$i++){ $data["filename"]=$data[$i]["savename"]; if($file->data($data)->add()) { $num++; } } if($num==count($data)-1) { returntrue; }else { returnfalse; } } privatefunctionup(){ //完成与thinkphp相关的,文件上传类的调用 import("@.Org.UploadFile");//将上传类UploadFile.class.php拷到Lib/Org文件夹下 $upload=newUploadFile(); $upload->maxSize="1000000";//默认为-1,不限制上传大小 $upload->savePath="./Public/Upload/";//保存路径建议与主文件平级目录或者平级目录的子目录来保存 $upload->saveRule=uniqid;//上传文件的文件名保存规则 $upload->uploadReplace=true;//如果存在同名文件是否进行覆盖 $upload->allowExts=array("jpg","jpeg","png","gif");//准许上传的文件类型 $upload->allowTypes=array("image/png","image/jpg","image/jpeg","image/gif");//检测mime类型 $upload->thumb=true;//是否开启图片文件缩略图 $upload->thumbMaxWidth="300,500"; $upload->thumbMaxHeight="200,400"; $upload->thumbPrefix="s_,m_";//缩略图文件前缀 $upload->thumbRemoveOrigin=1;//如果生成缩略图,是否删除原图 if($upload->upload()){ $info=$upload->getUploadFileInfo(); return$info; }else{ $this->error($upload->getErrorMsg());//专门用来获取上传的错误信息的 } } } ?>
二、view模板部分:
模板文件index.html代码如下:
<html> <body> <volistname="filelist"id="vo"> 小图:<imgsrc="__PUBLIC__/upload/s_{$vo["filename"]}"/><br/> 大图:<imgsrc="__PUBLIC__/upload/m_{$vo["filename"]}"/><br/> </volist> <formaction="__URL__/upload"method="post"enctype="multipart/form-data"> <inputtype="file"name="file[]"/><br/> <inputtype="file"name="file[]"/><br/> <inputtype="file"name="file[]"/><br/> <inputtype="submit"value="上传"/> </form> </body> </html>
相信本文所述实例对大家的ThinkPHP程序开发可以起到一定的借鉴作用。
相关文章
- ftp工具类:上传与下载文件
- [学习笔记]上传文件到EC2主机[通俗易懂]
- Vue上传文件操作(没有CV,认真看)
- Python搭建http共享文件
- Linux chgrp命令:更改文件用户组
- AppStore 打包上传后提示“二进制文件无效” 的解决方法
- Servlet3.0实现上传文件的获取
- 这才是文件上传和下载的正确方式!
- EagleFiler for mac(mac文件管理工具) 1.9.11中文
- 认知文件上传
- linux实现对上传文件的定时备份、增量备份的方法
- 深入理解linux执行文件提示No such file or directory的背后原因
- iOS常见文件及程序的启动原理详解手机开发
- Java ftp上传文件方法效率对比详解编程语言
- PHP上传文件(附带源码)
- 用g++命令执行C++多文件项目
- 赋予Linux 600权限: 实现安全的文件存取(linux600权限)
- 达人重新设计Win10文件管理器 引网友疯狂点赞
- 利用Oracle实现文件拷贝(oracle拷贝文件)
- 文件Linux下快速打开TXT文件的方法(linuxtxt打开)
- 文件在Linux服务器上传文件的简易指南(linux服务器上传)
- Linux 下批量重命名文件快捷方式(批量重命名linux)
- Exploring the Power of Linux: The Versatility and Potential of Aud Files(linux系统aud文件)
- Linux查看文件最后修改时间(linux 查看文件时间)
- MySQL如何上传UDF文件(mysql上传udf文件)
- PHP文件读写操作之文件读取方法详解
- PHPimagecreatefrombmp从BMP文件或URL新建一图像
- JqueryUploadify多文件上传带进度条且传递自己的参数