入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

thinkphp框架中的(大)文件上传

创建时间:2014-08-07 投稿人: 浏览次数:123

最近在学习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。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像