博客列表 >php图片上传与基础知识

php图片上传与基础知识

kiraseo_wwwkiraercom
kiraseo_wwwkiraercom原创
2022年08月18日 23:10:46328浏览

php图片上传的形式

以上传图片为案例,上传文件也是同理的

单图片上传

代码

  1. <?php
  2. function file_error_code($i){
  3. switch ($variable) {
  4. case '1':
  5. echo '上传的文件超过了php.ini中的允许上传的文件大小';
  6. break;
  7. case '2':
  8. echo '上传的文件超过了表单中MAX_FILE_SIZE的允许的上传的文件大小';
  9. break;
  10. case '3':
  11. echo '上传的文件不是完整的';
  12. break;
  13. case '4':
  14. echo '没有找到被上传的文件';
  15. break;
  16. case '6':
  17. echo '上传文件的临时目录不存在';
  18. break;
  19. case '7':
  20. echo '上传的文件写入失败,请检查目录权限';
  21. break;
  22. }
  23. }
  24. if(isset($_FILES['pic_src'])){
  25. if($_FILES['pic_src']['error'] >0){
  26. echo '上传文件失败'.file_error_code($_FILES['pic_src']['error']);
  27. }else{
  28. is_uploader_file($_FILES['pic_src']['tmp_name']){
  29. $allow = [ 'jpg','jpeg','gif','png','bmp' ] ;
  30. //获取上传图片的后缀名
  31. $ext = pathinfo($_FILES['pic_src']['name'])['extension'];
  32. //判断上传文件是否符常见的图片文件类型的后缀
  33. if(in_array($ext ,$allow)){
  34. $dest= 'uploads/' .$_FILES['pic_src']['name'];
  35. move_uploaded_file($_FILES['pic_src']['tmp_name'],$dest);
  36. echo '<p>文件上传成功</p>';
  37. echo "<img src='$dest' >";
  38. }
  39. }
  40. }
  41. }
  42. ?>
  43. <!DOCTYPE html>
  44. <html lang="en">
  45. <head>
  46. <meta charset="UTF-8">
  47. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  48. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  49. <title>单文件上传</title>
  50. </head>
  51. <body>
  52. <form action="" method="POST" enctype="multipart/form-data">
  53. <fieldset>
  54. <legend>单文件上传</legend>
  55. <input type="file" name="pic_src" >
  56. <button>上传</button>
  57. </fieldset>
  58. </form>
  59. </body>
  60. </html>

效果图

多图片上传

代码

  1. <?php
  2. if(isset($_FILES['pic_src'])){
  3. foreach($_FILES['pic_src']['error'] as $k=>$v){
  4. //只要判断$file['error'] == 0;
  5. if($v == 0){
  6. $dest= 'uploads/' .$_FILES['pic_src']['name'][$k];
  7. move_uploaded_file($_FILES['pic_src']['tmp_name'][$k],$dest);
  8. echo '<p>文件上传成功</p>';
  9. echo "<img src='$dest' >";
  10. }
  11. }
  12. }
  13. ?>
  14. <!DOCTYPE html>
  15. <html lang="en">
  16. <head>
  17. <meta charset="UTF-8">
  18. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  19. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  20. <title>多文件</title>
  21. </head>
  22. <body>
  23. <form action="" method="POST" enctype="multipart/form-data">
  24. <fieldset>
  25. <legend>多文件文件上传</legend>
  26. <input type="file" name="pic_src[]" multiple>
  27. <button>上传</button>
  28. </fieldset>
  29. </form>
  30. </body>
  31. </html>

效果图

多图片返回数组格式

多图片返回的效果

结语

关于尝试使用多图片上传的代码去测试上传单个图片显示做出了操作以图片显示
结论是 和上传多图片一样。算是想法和实践达到了一致

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