php如何实现网页常见文件上传功能

用php实现网页常见的文件上传功能,供大家参考,具体内容如下

上传页面

  1. <!DOCTYPE html>
  2. <html >
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <!--上传文件 enctype="multipart/form-data"指的是编码方式为上传多种类型文件和数据流-->
  9. <form method="post" action="123.php" enctype="multipart/form-data">
  10. <input type="file" name="file">
  11. <input type="submit" value="上传">
  12. </form>
  13. </body>
  14. </html>

文件处理页面

  1. <?php
  2. /**
  3. * Created by fcc
  4. * User: Administrator
  5. * Date: 2017/10/31
  6. * Time: 10:33
  7. */
  8. var_dump($_FILES);
  9. //文件处理要实现的几点
  10. //1.是否有错误
  11. //2.文件类型是否符合要求
  12. //3.文件大小是否符合要求
  13. //4.文件名是否重复
  14. //$types = ['image/jpeg','image/png'];
  15. if (!$_FILES['file']['error']){
  16. if ($_FILES['file']['type'] == 'image/jpeg'){
  17. if ($_FILES['file']['size']<200000){
  18. //文件传到文件夹中,可以拼接时间戳,用户名等防止文件名重复
  19. $file_name = "./upload/2017-10-31/".$_FILES['file']['name'];
  20. if (!file_exists($file_name)){
  21. move_uploaded_file($_FILES['file']['tmp_name'],$file_name);
  22. // $filename=iconv("UTF-8","",$file_name);
  23. }else{
  24. echo "文件名重复";
  25. }
  26. }else{
  27. echo "文件过大";
  28. }
  29. }else{
  30. echo "文件格式错误";
  31. }
  32. }
  33. //实验过程中出现因为图片汉字命名报错!!!