1,首先要创建两个文件,一个是后缀为.html,一个是后缀为.php
html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="http://localhost/php/PHP3/dea_file_data.php"method="post" enctype ="multipart/form-data">
<label for = "file">文件上传</label>
<input type="file" id="file" name="file"/>
<inputtype="submit"value="提交"/>
</form>
</body>
</html>
在这儿解释一下上面的一些属性
表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。
只有使用了multipart/form-data,才能完整的传递文件数据
php文件
<?php
//获取用户上传的文件信息
$files = $_FILES["file"];
print_r($files);
//判断文件是否上传成功,如果成功执行文件的存储
if($files["error"] ==0) {
//定义数组存储当前图片的所有格式
$imageType = array("png","jpg","jpeg");
//获取上传的文件的文件格式
$fileType = $files["type"];
//将字符串按照/分割成对应的数组
$fileTypes = explode("/", $fileType);
//判断当前的文件格式是否是我们能够处理的文件格式
if(in_array($fileTypes[1], $imageType)) {
//time():php中生成一个对应的时间,时间以时间戳的形式返回,在这里用来作为图片的名字。
$path= "img/".time().".".$fileTypes[1];
//move_uploaded_file()将上传的文件从临时目录中移动到目标目录中
$bol=move_uploaded_file($files["tmp_name"], $path);
if($bol) {
//获取当前php文件所在的根目录
$rootPath=pathinfo($_SERVER["REQUEST_URI"])["dirname"];
//获取图片的详细路径
$imgPath=$rootPath."/".$path;
echo"<img src={$imgPath}></img>";
}else{
echo"文件上传失败";
}
}
}
?>