表单上传文件index.php
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
//enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制
//数据时,比如文件内容,请使用 "multipart/form-data"。
<form action="test.php" method="post" enctype="multipart/form-data">
<p>第一张图片</p>
<input type="file" name="file" if="file">
<input type="submit">
</form>
</body>
</html>
文件上传控制test.php
<?php
header("content-type:text/html;charset=utf8");
//控制上传的文件
//允许上传图片
$allowed=array("png","jpg","gif","jpeg");
//将文件名后后缀分开
$tmp=explode(".",$_FILES["file"]["name"]);
//获取文件名后缀
$ext=end($tmp);
//var_dump($ext);
//判断是否为所限制的类型
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 500000) // 控制大小
&& in_array($ext, $allowed)){
//获取文件上传的信息
if($_FILES["file"]["error"]>0){
echo "错误:".$_FILES["file"]["error"];
}
else{
echo "上传文件名:".$_FILES["file"]["name"]."</br>";
echo "文件类型:".$_FILES["file"]["type"]."</br>";
echo "文件大小:".$_FILES["file"]["size"]."</br>";
echo "文件存储位置:".$_FILES["file"]["tmp_name"]."</br>";
}
// 判断当期目录下的 upload 目录是否存在该文件
// 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
if(is_dir("upload")){
move();
}else{
mkdir ( "upload", 0777, true);
move();
}
}else{
echo "非法的文件格式";
}
//移动文件
//在服务器的 PHP 临时文件夹中创建了一个被上传文件的临时副本。
//这个临时的副本文件会在脚本结束时消失。要保存被上传的文件,我们需要
//把/它拷贝到另外的位置
function move(){
if(file_exists("upload/".$_FILES["file"]["name"])){
echo "文件已存在!";
}
else{
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]);
echo "文件上传成功";
}
}