php+form表单的文件上传

时间:2020-12-27 16:14:30
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<h1>文件上传-传统表单方式</h1>
<h6>php+form</h6>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="myFile"/>
<input type="submit" value="上传"/>
</form>
</body>
</html>

PHP

<?php
//上传文件的名称
//上传文件类型
//上传文件的大小
//上传文件的临时文件名称
//上传文件出错
//函数:将临时文件移动到指定目录下
//move_uploaded_file("临时文件",uploads/文件名);
//上传的文件名不能冲突,同名改名
/*------
gbk一个汉字2个字节
utf8-个汉字3个字节
1kb = 1024b
1mb = 1024kb
------*/
//1、获取上传文件的信息
$mypic = $_FILES["myFile"];
//var_dump($_FILES);
//2、判断是否存在上传的文件
if(!empty($mypic)){
$picname = $_FILES["myFile"]["name"];
$picsize = $_FILES["myFile"]["size"];
//3、判断文件大小 512k--->512*1000
if($picsize>2*1024*1024){
echo "图片大小不能超过2MB 请重新选择";
exit;//终止当前php的运行
}
//4、判断类型
$type = strstr($picname, ".");
if($type !=".gif" && $type !=".jpg" &&$type!=".png"){
echo "图片格式不正确";
exit;
}
//5、创建新的文件名,解决名称冲突
//时间戳/随机数/文件后缀
$pics = time().rand(1,9999).$type;//1970-1-1
//6、将临时文件移动到指定目录
move_uploaded_file($_FILES["myFile"]["tmp_name"],"uploads/".$pics);
}
?>

*****注意*****要在当前目录下建立uploads文件夹