PHP笔记-文件上传例子
Posted IT1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP笔记-文件上传例子相关的知识,希望对你有一定的参考价值。
程序运行截图如下:
选择文件然后点击提交后:
目录下也有了:
源码如下:
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__)
以上是关于PHP笔记-文件上传例子的主要内容,如果未能解决你的问题,请参考以下文章