php上传函数怎么封装
php上传函数怎么封装?
<?php //上传文件调用 $file = $_FILES['image']; //允许上传的类型 $allow = array('image/jpeg', 'image/png', 'image/jpg', 'image/gif'); $path = './uploads'; $maxsize = 1024 * 1024 * 3; $result = upload($file, $allow, $error, $path, $maxsize); if ($result) { //上传成功 echo "文件上传成功,新的文件名叫".$result; }else{ //上传失败 echo $error; } /** *文件的上传 *@param array $file 上传的文件的相关信息(是一个数组有五个元素) *@param array $allow 允许文件上传的类型 *@param string & $error 引用传递,用来记录错误的信息 *@param string $path 文件上传的目录,不带最后的 / *@param int $maxsize = 1024*1024 允许上传的文件大小 *@return mixed false | $newname 如果上传失败返回false,成功返回文件的新名字 **/ function upload($file, $allow, &$error, $path, $maxsize =1048576){ //先判断系统错误 switch ($file['error']) { case 1: $error = '上传错误,超出了服务器文件限制的大小!'; return false; case 2: $error = '上传错误,超出了浏览器表单允许的大小!'; return false; case 3: $error = '上传错误,文件上传不完整!'; return false; case 4: $error = '上传错误,请您先选择要上传的文件!'; return false; case 6: case 7: $error = '对不起,服务器繁忙,请稍后再试!'; return false; } //判断逻辑错误 //验证文件的大小 if ($file['size'] > $maxsize) { //超出用户了自己规定的大小 $error = '上传错误,超出了文件限制的大小!'; return false; } //判断文件的类型 if (!in_array($file['type'], $allow)) { //非法的文件类型 $error = '上传的文件的类型不正确,允许的类型有:'.implode(',', $allow); return false; } //移动临时文件 //指定文件上传后保存的路径 $newname = randName($file['name']); //得到文件新的名字 //判断$path 目录是否存在 不存在则创建 if (!file_exists($path)) { mkdir($path, 0777, true); } $target = $path . '/' . $newname; $result = move_uploaded_file($file['tmp_name'], $target); if ($result) { //上传成功 return $newname; }else{ //上传失败 $error = '发生未知错误,上传失败'; return false; } } /** *生成一个随机名字的函数 文件名=当前的时间 + 随机的几位数字 *@param string $filename 文件的原始名字 *@return string $newname 文件的新名字 * */ function randName($filename){ //生成文件名的时间部分 $newname = date('YmdHis'); //加上随机的6位数 $str = '0123456789'; for ($i=0; $i < 6; $i++) { $newname .= $str[mt_rand(0, strlen($str)-1)]; } //加上文件的后缀名 $newname .= strrchr($filename, '.'); return $newname; }
HTML上传代码
<!DOCTYPE html> <html> <head> <title>文件上传</title> <meta charset="utf-8"> </head> <body> <form method="post" action="upload.php" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" name="" value="上传"> </form> </body> </html>
推荐:《PHP教程》
以上是php上传函数怎么封装的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

CakePHP 是一个开源MVC 框架。它使开发、部署和维护应用程序变得更加容易。 CakePHP 有许多库可以减少大多数常见任务的过载。

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、
