博客列表 >php之封装上传文件函数

php之封装上传文件函数

月光下,遗忘黑暗
月光下,遗忘黑暗原创
2021年05月16日 15:10:12667浏览

代码块

html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <form action="upload.php" method="post" enctype="multipart/form-data">
  9. <fieldset>
  10. <legend>单文件上传</legend>
  11. <label for="my_file"></label>
  12. <input type="file" name="my_file" id="my_file">
  13. <button type="submit">上传</button>
  14. </fieldset>
  15. </form>
  16. </body>
  17. </html>

php

  1. <?php
  2. //printf('<pre>%s</pre>',print_r($_FILES,true));
  3. $file =$_FILES;
  4. a($file);
  5. function a($file){
  6. ini_set('error.log','./error.log');
  7. $error = $file['my_file']['error'];
  8. if ($error!=0) {
  9. switch ($error) {
  10. case 1:
  11. exit('上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值');
  12. case 2:
  13. exit('上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值');
  14. case 3:
  15. exit('文件只有部分被上传');
  16. case 4:
  17. exit('没有文件被上传');
  18. case 5:
  19. exit('上传文件大小为0');
  20. default:
  21. exit('系统错误');
  22. }
  23. }
  24. $fileName = $file['my_file']['name'];
  25. $type = $file['my_file']['type'];
  26. $tmpName = $file['my_file']['tmp_name'];
  27. $size = $file['my_file']['size'];
  28. if ($size/1024/1024 > 5) exit('文件大小不能超过5M');
  29. $type = explode('/',$type)[1];
  30. if (!in_array($type,['jpg','jpeg','png','wbmp','gif'] )) exit('文件格式只能是jpg,jpeg,png,wbmp,gif');
  31. if (!file_exists('uploads/')) mkdir('uploads/',0777,true);
  32. move_uploaded_file($tmpName,"uploads/".$fileName);
  33. exit('文件上传成功');
  34. }

效果图

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议