ThinkPHP中的文件上传

<form action="__URL__/upload" enctype="multipart/form-data" method="post" >
<input type="file" name="photo" />
<input type="submit" value="提交" >
</form>

表单中enctype="multipart/form-data"是设置表单的MIME编码,是类上传二进制数据方式,form里面的input的值以二进制的方式传过去的。

默认情况,编码格式是application/x-www-form-urlencoded,不能用于文件上传,

只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作。

public function upload()
 	{	
 		if (IS_GET) {
 			$this->display();
 			exit;
 		}
			$upload = new \Think\Upload();// 实例化上传类
			$upload->maxSize = 0 ;// 设置附件上传大小
			$upload->exts = array('csv');// 设置附件上传类型
			$upload->rootPath = './Public/Uploads/'; // 设置附件上传根目录
			$upload->savePath = ''; // 设置附件上传(子)目录
			// 上传文件
			$info = $upload->upload();
			if(!$info) {// 上传错误提示错误信息
				$this->error($upload->getError());
			}else{// 上传成功
				$this->improt('Public/Uploads/'.$info['file']['savepath'].$info['file']['savename'],'utf-8');
			}
 		
 	}
上面中ThinkPHP文件上传操作使用 Think\Upload 类,在上传操作之前,我们可以对上传的属性进行一些设置。在下图中可以看出ThinkPHP对上传操作有着很多的属性支持。
文件上传成功后,就可以使用下图这些文件信息来进行其他的数据操作,例如保存到当前数据表或者单独的附件数据表。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值