TP上传文件图片总结
注意上传文件表单的设置:
下面是一个带有附件上传的表单提交: <form action="__URL__/upload" enctype="multipart/form-data" method="post" > <input type="text" name="name" /> <input type="file" name="photo" /> <input type="submit" value="提交" > </form>
实现案例:
ThinkPHP文件上传操作使用ThinkUpload类,假设前面的表单提交到当前控制器的upload方法,我们来看下upload方法的实现代码:
public function upload(){ $upload = new ThinkUpload();// 实例化上传类 $upload->maxSize = 3145728 ;// 设置附件上传大小 $upload->exts = array("jpg", "gif", "png", "jpeg");// 设置附件上传类型 $upload->rootPath = "./Uploads/"; // 设置附件上传根目录 $upload->savePath = ""; // 设置附件上传(子)目录 // 上传文件 $info = $upload->upload(); if(!$info) {// 上传错误提示错误信息 $this->error($upload->getError()); }else{// 上传成功 $this->success("上传成功!"); } }
上传类对图片文件的上传安全做了支持,如果企图上传非法的图像文件,系统会提示 非法图像文件。 为了更好的使用上传功能,建议你的服务器开启finfo模块支持(拓展:finfo需开启php配置文件中的 php_finfo.dll 拓展,使用finfo_open() 和finfo_file() 两个函数来操作)。
上传文件信息
如果失败,返回false,并且用getError方法获取错误提示信息;如果上传成功,就返回成功上传的文件信息数组。
$upload = new ThinkUpload();// 实例化上传类 $upload->maxSize = 3145728 ;// 设置附件上传大小 $upload->exts = array("jpg", "gif", "png", "jpeg");// 设置附件上传类型 $upload->rootPath = "./Uploads/"; // 设置附件上传根目录 $upload->savePath = ""; // 设置附件上传(子)目录 // 上传文件 $info = $upload->upload(); if(!$info) {// 上传错误提示错误信息 $this->error($upload->getError()); }else{// 上传成功 获取上传文件信息 foreach($info as $file){ echo $file["savepath"].$file["savename"]; } }
支持多文件上传
表单形式:
<input type="file" name="photo[]"> <input type="file" name="photo[]"> <input type="file" name="photo[]">
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: TP中cache方法使用
- 下一篇: Thinkphp 动态查询 getBy 与 getFieldBy