thinkphp框架中的(大)文件上传
最近在学习PHP,首次用其实现文件上传,特此记录,以供初学者参考。
1、先在Lib/Action目录下新建 UpLoadAction.class.php,内容如下:
<?php class UpLoadAction extends Action { public function index() { $this->display(); } Public function upload(){ import("ORG.Net.UploadFile"); $upload = new UploadFile();// 实例化上传类 $upload->maxSize = 3145728000 ;// 设置附件上传大小 $upload->allowExts = array("jpg", "gif", "png", "jpeg", "VOB", "avi");// 设置附件上传类型 $upload->savePath = "./Public/Uploads/";// 设置附件上传目录 if(!$upload->upload()) {// 上传错误提示错误信息 $this->error($upload->getErrorMsg()); }else{// 上传成功 获取上传文件信息 $info = $upload->getUploadFileInfo(); } print_r($info); // 保存表单数据 包括附件数据 //$User = M("User"); // 实例化User对象 //$User->create(); // 创建数据对象 //$User->photo = $info[0]["savename"]; // 保存上传的照片根据需要自行组装 //$User->add(); // 写入用户数据到数据库 //$this->success("数据保存成功!"); } } ?>这里没有什么特别,直接复制thinkphp官方文档中的代码即可,我注释掉了数据库部分。
2、在Tpl目录中新建UpLoad文件夹,在其中新建index.html,内容如下:
<form action="upload" method="post" enctype="multipart/form-data"> <input type="file" name="photo1"/> <input type="submit" value="提交"/> </form>此处主要注意 enctype="multipart/form-data" 这一句,如果不正确或者未添加,会提示你没有选择文件。如果是直接从官方文档中拷贝下来的话,一定要注意双引号是否正确,我当时就是直接拷贝过来后由于是汉语双引号,相当于没有添加,导致一直提示没有选择文件。
完成了这两步,在浏览器中输入你的跟路径再加UpLoad/index就可以访问到上传页面了。
当然,以上这些只能上传很小的文件,要实现大文件的上传,还需要修改一些配置:
1、首先修改Php.ini
max_execution_time = 30 ,这个是每个脚本运行的最长时间,单位秒,我修改为:max_execution_time = 1800(时间自己定)
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了
copyright © 2008-2019 入门客AI创业平台 版权所有 备案号:湘ICP备2023012770号