<?php
/*
* 文件上传:
* 1、如何控制上传文件
* 2、对上传文件判断(格式、大小)
* 3、学习执行文件上传操作方法
* $_FILES 数组元素
* $_FILES[filename][name]:存储上传的文件名
* $_FILES[filename][size]:存储上传的文件大小,单位为字节
* $_FILES[filename][tmp_name]:存储文件在临时目录中使用的文件名
* $_FILES[filename][type]:存储上传文件的MIME类型,类型由"/"分隔
* $_FILES[filename][error]:存储与文件上传相关的错误代码
* 0:上传成功
* 1:上传文件的大小超出了PHP配置
* 2:表示上传文件大小超出了表单中MAX_FILE_SIZE选项所指定的值
* 3:表示文件只被上传了一部份
* 4:表示没有上载任何文件
* /
if(!empty($_FILES['up_picture']['name'])){ //判断上传内容是否为空
if($_FILES['up_picture']['error']>0){ //判断文件是否可以上传到服务器
echo "上传错误:";
switch ($_FILES['up_picture']['error']){
case 1:
echo "上传文件大小超出配置文件规定值";
break;
case 2:
echo "上传文件大小超出表单中约定的值";
break;
case 3:
echo "上传文件不全";
break;
case 4:
echo "没有上传文件";
break;
}
}else{
list($maintype,$subtype)=explode("/", $_FILES['up_picture']['type']);//获取上传文件类型
if($maintype!="p_w_picpath"||$subtype!="pjpeg"){ //判断上传文件格式是否正确
echo "上传文件格式不正确";
}else{
if(!is_dir("upfile")){ //判断指定目录是否存在
mkdir("upfile"); //创建目录
}
$path = "upfile/".time().strtolower(strstr($_FILES['up_picture']['name'], "."));//动态创建生成文件路径
if(is_uploaded_file($_FILES['up_picture']['tmp_name'])){//判断文件是否可以上传
if(move_uploaded_file($_FILES['up_picture']['tmp_name'], $path)){ //如果上传成功
echo "文件:<span class='STYLE1'>".time().strtolower(strstr($_FILES['up_picture']['name'], "."))
."</span> 上传成功,大小为:<span class='STYLE1'>".$_FILES['up_picture']['size']."</span>字节";
}else{
echo "上传失败";
}
}else{
echo "上传文件:<span class='STYLE1'>".$_FILES['up_picture']['name']."</span>不合法!";
}
}
}
}
?>
<form action="06.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<input type="file" name="up_picture">
<input type="submit" value="上传"/>
</form>
转载于:https://blog.51cto.com/wbb827/1325280