博客列表 >1209作业PHP培训第九期线上班

1209作业PHP培训第九期线上班

淡月
淡月原创
2019年12月10日 21:14:49816浏览

前端

  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方法提交)。

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