关键词搜索

源码搜索 ×
×

PHP笔记-文件上传例子

发布2021-12-30浏览701次

详情内容

程序运行截图如下:

选择文件然后点击提交后:

目录下也有了:

源码如下:

index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>文件上传</title>
  6. </head>
  7. <body>
  8. <form action="uploadFile.php" method="post" enctype="multipart/form-data">
  9. <label for="file">文件名: </label>
  10. <input type="file" name="file" id="file"><br>
  11. <input type="submit" value="提交">
  12. </form>
  13. </body>
  14. </html>

uploadFile.php

 

  1. <?php
  2. $allowed = array("gif", "png", "jpg");
  3. $temp = explode(".", $_FILES["file"]["name"]);
  4. $extension = end($temp);
  5. echo $_FILES["file"]["size"];
  6. if ((($_FILES["file"]["type"] == "image/gif")
  7. || ($_FILES["file"]["type"] == "image/jpeg")
  8. || ($_FILES["file"]["type"] == "image/jpg")
  9. || ($_FILES["file"]["type"] == "image/pjpeg")
  10. || ($_FILES["file"]["type"] == "image/x-png")
  11. || ($_FILES["file"]["type"] == "image/png"))
  12. && ($_FILES["file"]["size"] < 2048000)
  13. && in_array($extension, $allowed)){
  14. if($_FILES["file"]["error"] > 0){
  15. echo "错误 : " . $_FILES["file"]["error"] . "<br>";
  16. header("Refresh:3;url=index.html");
  17. }
  18. echo "上传的文件名: " . $_FILES["file"]["name"] . "<br>";
  19. echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
  20. echo "文件大小: " . $_FILES["file"]["size"] . "<br>";
  21. echo "文件临时存放位置:" . $_FILES["file"]["tmp_name"] . "<br>";
  22. if(file_exists("upload" . $_FILES["file"]["name"])){
  23. echo $_FILES["file"]["name"] . "文件已经存在。";
  24. }
  25. else{
  26. move_uploaded_file($_FILES["file"]["tmp_name"], __DIR__ . "\\upload\\" . $_FILES["file"]["name"]);
  27. echo "文件存储在: " . __FILE__ . "\\upload\\" . $_FILES["file"]["name"];
  28. }
  29. }
  30. else{
  31. header("Refresh:3;url=index.html");
  32. }
  33. ?>

 需要注意的地方:

①$_FILES

 从中可以知道,他是一个全局的变量,与快要被废弃的$HTTP_POST_FILES功能一样。在使用post方法上传文件时常用。

②move_uploaded_file

 从中可以知道,这个函数的功能是把上传的文件拷贝到本地,第一个参数是上传的文件,第二个参数是要移动到拿。返回值是个bool类型,如果第一个参数是无效的文件名,函数将返回false,并且不会生效,还会打印warning。

③__DIR__

 从中可知,这个宏是获取当前文件的目录这个宏等同于dirname(__FILE__)

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载