thinkphp上传文件

简介:
	/*
	 * 单文件上传接口
	 */
	public function upload() {
		if (!empty($_FILES)) {
			$upload = new \Think\Upload();
			$upload -> maxSize = 2 * 1024 * 1024;
			// 设置文件最大2M
			// 允许上传的文件后缀(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空
			$upload -> exts = array('jpg', 'gif', 'png', 'jpeg');
			// 允许上传的文件类型(留空为不限制),使用数组或者逗号分隔的字符串设置,默认为空
			$upload -> mimes = '';
			$upload -> rootPath = './Uploads/';
			// 设置附件上传根目录
			$upload -> savePath = '';
			// 设置上传的子目录
			$upload -> saveName = 'uniqid';
			// 上传文件的保存规则,支持数组和字符串方式定义
			$upload -> saveExt = '';
			// 上传文件的保存后缀,不设置的话使用原文件后缀
			$upload -> replace = true;
			// 存在同名文件是否是覆盖,默认为false
			$upload -> autoSub = true;
			// 自动使用子目录保存上传文件 默认为true
			$upload -> subName = array('date', 'Ymd');
			// 子目录创建方式,采用数组或者字符串方式定义
			$upload -> hash = true;
			// 是否生成文件的hash编码 默认为true

			// 上传成功
			if ($fileInfo = $upload -> uploadOne($_FILES['image'])) {
				$upoadRoot = './Uploads/';
				$filename = $fileInfo['savename'];
				$savepath = $fileInfo['savepath'];

				// 添加水印
				$image = new \Think\Image();
				$path = $upoadRoot . $savepath . $filename;
				$image -> open($path) -> water('./Public/Images/logo.png') -> save($path);

				/*
				 * 把上传的路径写入数据库
				 */
				$photoModel = M('Photo');
				$data['image'] = $path;
				$data['create_time'] = NOW_TIME;
				// 时间截

				if ($photoModel -> add($data)) {
					$this -> success('上传成功');
				} else {
					$this -> error($photoModel -> getError());
				}
			} else {// 上传出错
				$this -> error($upload -> getError());
			}
		} else {
			$this -> error('请选择文件');
		}
	}


这个过程中出现了 操作出现错误的提示,是由于我把add方法写成了save方法了,花了不少时间来排查。

目录
相关文章
|
7月前
|
PHP
thinkphp中自定义文件上传
thinkphp中自定义文件上传
42 0
|
4月前
|
PHP
ThinkPHP文件上传接口
ThinkPHP文件上传接口
34 3
|
7月前
|
Java
Struts文件上传与下载详解 _上传多个文件
Struts文件上传与下载详解 _上传多个文件
|
7月前
|
Java
Struts文件上传与下载详解_上传单个文件
Struts文件上传与下载详解_上传单个文件
|
小程序 应用服务中间件 Shell
laravel8(三)文件上传提示 “The file deos not exits ” ,但确实已经上传了文件
Laravel 文件上传提示 “The file "" deos not exits ” ,但确实已经上传了文件
70 1
|
缓存
phpcms之 文件下载的页面
phpcms之 文件下载的页面
|
PHP
fastadmin使用PHPexcel上传文件处理兼容问题 (已解决)
fastadmin使用PHPexcel上传文件处理兼容问题 (已解决)
150 0
|
前端开发 Java Apache
文件上传与下载
文件上传与下载 文件上传也称为upload,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发微博、发微信朋友圈都用到了文件上传功能。 文件上传时,对页面的form表单有如下要求: method=“post” 采用post方式提交数据 enctype=“multipart/form-data” 采用multipart格式上传文件 type=“file” 使用input的file控件上传
|
存储 缓存 安全
【php详细笔记】上传文件到服务器(上)
【php详细笔记】上传文件到服务器
362 0
【php详细笔记】上传文件到服务器(上)