博客列表 >第二十一课:PHP单文件上传操作

第二十一课:PHP单文件上传操作

我のstyle
我のstyle原创
2019年12月10日 21:15:50710浏览

1、文件上传前端代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>文件上传</title>
  6. </head>
  7. <body>
  8. <form action ="upload.php" method="post" enctype="multipart/form-data">
  9. <input type="file" name="my_file">
  10. <button>上传</button>
  11. </form>
  12. </body>
  13. </html>

2、php代码

  1. <?php
  2. //文件上传
  3. //var_dump($_FILES['my_file']);die();
  4. $fileType = ['jpg','png','gif'];
  5. $fileSize = 3*1024*1024;//3兆
  6. //设置上传路径
  7. $ilePath = '/uploads/';
  8. //获取文件名称
  9. $fileName = $_FILES['my_file']['name'];
  10. //获取临时文件名称
  11. $tempFile = $_FILES['my_file']['tmp_name'];
  12. //2判断文件是否上传成功
  13. $uploadError = $_FILES['my_file']['error'];
  14. if ($uploadError >0 ){
  15. switch ($uploadError){
  16. case 1:die('文件超过php.ini 中 upload_max_filesize选项限制的值');
  17. case 2:die('请上传小于3M以内的文件');
  18. case 3:die('上传文件不完整');
  19. case 4:die('文件未被上传');
  20. case 6:die('找不到临时文件夹');
  21. case 7:die('文件写入失败');
  22. default:die('未知错误');
  23. }
  24. }
  25. //3、判断文件扩展名是否符合要求
  26. //获取文件后缀名
  27. $extension = explode('.',$fileName)[1];
  28. if (!in_array($extension,$fileType)){
  29. die('不允许上传'. $extension.'文件类型');
  30. }
  31. //4、生成不可重复的文件名
  32. $fileName = date('ymdHis',time()).md5(mt_rand(1,99)). '.' . $extension;
  33. //5、文件上传
  34. //判断上传路径是否存在,不存在则创建路径
  35. if(!is_readable(__DIR__ . $ilePath))
  36. {
  37. is_file(__DIR__ . $ilePath) or mkdir(__DIR__ . $ilePath,0700);
  38. }
  39. if (is_uploaded_file($tempFile)){
  40. if (move_uploaded_file($tempFile,__DIR__ . $ilePath . $fileName )){
  41. echo '上传成功';
  42. }else{
  43. echo ('上传失败');
  44. }
  45. }else{
  46. die('非法操作');
  47. }
  48. exit;

3、执行效果截图



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