程序运行截图如下:
选择文件然后点击提交后:
目录下也有了:
源码如下:
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<form action="uploadFile.php" method="post" enctype="multipart/form-data">
<label for="file">文件名: </label>
<input type="file" name="file" id="file"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
uploadFile.php
<?php
$allowed = array("gif", "png", "jpg");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
echo $_FILES["file"]["size"];
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 2048000)
&& in_array($extension, $allowed)){
if($_FILES["file"]["error"] > 0){
echo "错误 : " . $_FILES["file"]["error"] . "<br>";
header("Refresh:3;url=index.html");
}
echo "上传的文件名: " . $_FILES["file"]["name"] . "<br>";
echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
echo "文件大小: " . $_FILES["file"]["size"] . "<br>";
echo "文件临时存放位置:" . $_FILES["file"]["tmp_name"] . "<br>";
if(file_exists("upload" . $_FILES["file"]["name"])){
echo $_FILES["file"]["name"] . "文件已经存在。";
}
else{
move_uploaded_file($_FILES["file"]["tmp_name"], __DIR__ . "\\upload\\" . $_FILES["file"]["name"]);
echo "文件存储在: " . __FILE__ . "\\upload\\" . $_FILES["file"]["name"];
}
}
else{
header("Refresh:3;url=index.html");
}
?>
需要注意的地方:
①$_FILES
从中可以知道,他是一个全局的变量,与快要被废弃的$HTTP_POST_FILES功能一样。在使用post方法上传文件时常用。
②move_uploaded_file
从中可以知道,这个函数的功能是把上传的文件拷贝到本地,第一个参数是上传的文件,第二个参数是要移动到拿。返回值是个bool类型,如果第一个参数是无效的文件名,函数将返回false,并且不会生效,还会打印warning。
③__DIR__
从中可知,这个宏是获取当前文件的目录这个宏等同于dirname(FILE)
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://it1995.blog.csdn.net/article/details/122229059
内容来源于网络,如有侵权,请联系作者删除!