Blogger Information
Blog 32
fans 1
comment 0
visits 23220
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1209作业PHP培训第九期线上班
淡月
Original
817 people have browsed it

前端

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>文件操作</title>
  6. </head>
  7. <body>
  8. <h2>文件上传</h2>
  9. <!--文件上传必须是post类似-->
  10. <form action="demo.php" method="post" enctype="multipart/form-data">
  11. <!-- name: 最终会成为php中的$_FILES['my_file']-->
  12. <input type="file" name="my_file">
  13. <button>上传</button>
  14. </form>
  15. </body>
  16. </html>

后端

  1. <?php
  2. //文件上传的原理
  3. // 1. 配置上传参数
  4. $fileType = ['jpg', 'png', 'gif'];
  5. $fileSize = 3145728;
  6. $filePath = '/uploads/';
  7. // 原始文件名
  8. $fileName = $_FILES['my_file']['name'];
  9. // 临时文件名
  10. $tempFile= $_FILES['my_file']['tmp_name'];
  11. //2. 判断是否上传成功?判断是否上传成功
  12. $uploadError = $_FILES['my_file']['error'];
  13. if ($uploadError > 0 ) {
  14. switch ($uploadError) {
  15. case 1:
  16. case 2: die('上传文件过大');
  17. case 3: die('文件上传不完整');
  18. default: die('未知错误');
  19. }
  20. }
  21. // 3. 判断文件扩展名是否支持?
  22. $extension = explode('.', $fileName)[1];
  23. if (!in_array($extension, $fileType)) {
  24. die('不允许上传 ' . $extension . '文件类型');
  25. }
  26. // 4. 生成不可重复的临时文件名
  27. $fileName = date('YmdHis',time()).md5(mt_rand(1,99)). '.' . $extension;
  28. // 5. 文件上传
  29. if (is_uploaded_file($tempFile)) {
  30. if (move_uploaded_file($tempFile, __DIR__ . $filePath . $fileName)) {
  31. echo "上传成功";
  32. } else {
  33. die('上传失败');
  34. }
  35. } else {
  36. die('非法操作');
  37. }
  38. exit;


总结

了解了文件上传的代码该如何写。
文件上传,需要满足预设的条件(类型,大小等),文件会先上传到临时文件地址(检测文件夹是否存在,不存在就创建),然后再将临时文件移动到此磁盘的过程(判断文件使用是否是由post方法提交)。

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