您现在的位置是:首页 >PHP网站首页PHP
PHP上传图片
- 学无止境
- 2019-02-23
- 4693 已阅读
- 1
简介经常使用框架会很容易忘记原生的文件上传方法。虽然知道就是几个步骤,但是具体实现方法恐怕早已忘却。呵呵,别太搞笑了。根本都不难!!!
PHP上传图片函数
/** *上传函数 *@param array $file 上传文件的信息 *@param array $typeAllow 允许的上传类型 *@param int $size 允许上传文件的大小 0:表示不限制大小 *@param string $path 保存文件的路径 *@param array $rec 保存返回的信息 */ function uploaded($file, $path ='./uploads', $typeAllow = array('image/jpeg'), $size = 0) { //设置返回值的默认标示 $rec = array('info' => '', 'error' => false); //判断错误号 if ($file['error'] > 0) { switch ($file['error']) { case 1: $info = '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值';break; case 2: $info ='上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值';break; case 3: $info ='文件只有部分被上传';break; case 4: $info ='没有文件被上传';break; case 6: $info ='找不到临时文件夹';break; case 7: $info ='文件写入失败';break; default: $info = '未知错误'; } $rec['info'] = $info; return $rec; } //处理一下保存路径 $savePath = rtrim($path, '/').'/'.date('Y/m/d/'); //echo $savePath; //判断目录是否存在 if (!file_exists($savePath)) { //创建目录 mkdir($savePath, 0777, true); } //判断是否是允许的类型 if (!in_array($file['type'], $typeAllow)) { $rec['info'] = '文件类型不被允许'; return $rec; } //判断上传文件的大小 if ($size > 0 && $file['size'] > $size) { $rec['info'] = '文件过大'; return $rec; } //得到文件类型 $ext = pathinfo($file['name'], PATHINFO_EXTENSION); //随机一下文件名 $fileName = date('YmdHis').mt_rand(1000, 9999).'.'.$ext; //拼接完成的上传路径 $savaName = rtrim($savePath, '/').'/'.$fileName; //执行上传 if (is_uploaded_file($file['tmp_name'])) { //上传文件 if (move_uploaded_file($file['tmp_name'], $savaName)) { $rec['error'] = true; $rec['info'] = $savaName; return $rec; } else { $rec['info'] = '上传失败'; return $rec; } } else { $rec['info'] = '上传方式不合法'; return $rec; } } $info = uploaded($_FILES['file']); var_dump($info); if ($info['error']) { //图片缩放 echo '上传成功'; } else { echo '上传失败'; }