Blogger Information
Blog 42
fans 5
comment 0
visits 38546
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1209作业:文件上传 文件上传 文件上传
张浩刚
Original
900 people have browsed it

demo.php

  1. <form action="file.php" method="post" enctype="multipart/form-data">
  2. // name: 最终会成为php中的$_FILES[‘my_file’]
  3. <input type="file" name="my_file">
  4. <button>上传</button>
  5. </form>

file.php

  1. <?php
  2. //文件上传原理
  3. // 1.上传文件类型设置
  4. $fileType = ['jpg','png','gif'];
  5. // 2.上传文件大小限制
  6. $fileSize = 1024*1024*3; //最大不超过3M
  7. // 3.上传的路径地址
  8. $filePath = '/uploads/';
  9. // 4.原始文件名
  10. $fileName = $_FILES['my_file']['name'];
  11. // 5.临时文件名
  12. $tempFile = $_FILMS['my_file']['tmp_name'];
  13. // 6.判断是否上传成功?
  14. $uploadError = $_FILES['my_file']['error'];
  15. if($uploadError > 0){ // 0以上都代表 上传问题
  16. switch($uploadError){
  17. case 1:
  18. case 2: die('上传文件太多');
  19. case 3: die('文件上传不完整');
  20. default: die('未知错误,请重新上传');
  21. }
  22. }
  23. // 7.判断文件扩展名是否正确,第一步的限制上传类型
  24. $type = explode('.', $fileName)[1];
  25. //函数in_array() 搜索数组中是否存在指定的值。
  26. //in_array(值,数组)
  27. //in_array(值,被搜索的数组是否有此值)
  28. if(!in_array($type, $fileType)){
  29. die("不允许上传 {$type} 文件类型");
  30. }
  31. // 8.上传成功后,生成不可重复的文件名
  32. // date('时间显示方式',time()//现在的时间)
  33. // mt_rand(min,max)随机值 sha1()给随机值加密,'.'是分割后缀,最后是图片扩展名
  34. $fileName = date('YmdHis',time()).sha1(mt_rand(1,99)). '.' .$type;
  35. // 9.文件上传
  36. // 函数 is_uploaded_file() 检查指定的文件是否是通过 HTTP POST 上传的。
  37. if(is_uploaded_file($tempFile)){
  38. //函数move_uploaded_file() 将上传的文件移动到新位置。
  39. if(move_uploaded_file($tempFile, __DIR__ . $filePath . $fileName)){
  40. echo '上传成功';
  41. }else{
  42. die('上传失败');
  43. }
  44. }else{
  45. die('非法操作');
  46. }
  47. exit;


Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:可以自己试一下多文件上传,怎么实现
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post