博客列表 >0818单文件上传, 多文件上传,上传与错误处理

0818单文件上传, 多文件上传,上传与错误处理

小言
小言原创
2022年08月21日 16:47:03339浏览

单文件上传

  1. if(isset($_FILES['my_pic'])){
  2. $name = $_FILES['my_pic']['name'];
  3. $tmpName = $_FILES['my_pic']['tmp_name'];
  4. $error = $_FILES ['my_pic']['error'];
  5. if($error > 0){
  6. $tips = '<span style="color:red;">上传失败</span><br>';
  7. switch($error){
  8. case 1:
  9. $tips .= '大小超过了php.ini中的允许上传的文件大小';
  10. break;
  11. case 2:
  12. $tips .= '大小超过了表单中(MAX_FILE_SIZE)的允许上传的文件大小';
  13. break;
  14. case 3:
  15. $tips .= '文件只有部分被上传';
  16. break;
  17. case 4:
  18. $tips .= '没有文件被上传';
  19. break;
  20. case 6:
  21. $tips .= '找不到临时目录';
  22. break;
  23. case 7:
  24. $tips .= '文件写入失败。请检查目录权限';
  25. break;
  26. }
  27. echo "<p>$tips</p>";
  28. }else{
  29. if(is_uploaded_file($tmpName)){
  30. $allow = ['jpg', 'jpeg', 'png', 'gif', 'webp'];
  31. $ext = pathinfo($name)['extension'];
  32. if (in_array($ext,$allow)){
  33. $path = 'uploads/';
  34. $dest = $path . md5($name) . '.' . $ext;
  35. if(move_uploaded_file($tmpName, $dest)){
  36. echo '<p>上传成功</p>';
  37. //预岚
  38. echo "<img src='$dest' width='300'>";
  39. }else{
  40. }
  41. }else{
  42. echo '<p>文件类型错误</p>';
  43. }
  44. }else{
  45. echo '<p>上传方式非法</p>';
  46. }
  47. }
  48. }

错误提示

  1. if($error > 0){
  2. $tips = '<span style="color:red;">上传失败</span><br>';
  3. switch($error){
  4. case 1:
  5. $tips .= '大小超过了php.ini中的允许上传的文件大小';
  6. break;
  7. case 2:
  8. $tips .= '大小超过了表单中(MAX_FILE_SIZE)的允许上传的文件大小';
  9. break;
  10. case 3:
  11. $tips .= '文件只有部分被上传';
  12. break;
  13. case 4:
  14. $tips .= '没有文件被上传';
  15. break;
  16. case 6:
  17. $tips .= '找不到临时目录';
  18. break;
  19. case 7:
  20. $tips .= '文件写入失败。请检查目录权限';
  21. break;
  22. }
  23. echo "<p>$tips</p>";
  24. }

文件上传

  1. <form action="" method="POST" enctype="multipart/form-data">
  2. <fieldset>
  3. <legend>单文件上传</legend>
  4. <input type="file" name="my_pic">
  5. <button>上传</button>
  6. </fieldset>
  7. </form>

多文件 批量上传

  1. if(isset($_FILES['my_pic'])){
  2. foreach ($_FILES['my_pic']['error'] as $key=>$error){
  3. if($error === UPLOAD_ERR_OK){
  4. $temName = $_FILES['my_pic']['tmp_name'][$key];
  5. $name = $_FILES['my_pic']['name'][$key];
  6. $dest = 'uploads/' . $name
  7. move_uploaded_file($temName, $dest);
  8. //预岚
  9. echo "<img src='$dest' width='300'>";
  10. }
  11. }
  12. }

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