<?php
header("Content-Type: text/html;charset=utf-8");
// 1:文件上传的类型必须为post
// 2:允许的数据类型必须是 multipart/form-data
// 如果想要在前面的页面处理上传的话,action可能会有三种方法:
// 1、为空默认当前脚本
// 2、书写当前的脚本名
// 3、用正确的方法进行编写
?>
<html>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="542488">
<fieldset align="center">
<legend align="center">文件上传</legend>
<p><strong>选择文件:</strong><input type="file" name="upload"></p>
</fieldset>
<p align="center"><button type="submit">提交</button></p>
</form>
</html>
<?php
//$_FILES:他是一个二维数组
//$_FILES['当前上传的文件夹名称',input[name="upload"]]
//$_FILES['upload']['name']:文件原始名称
//$_FILES['upload']['type']:文件类型
//$_FILES['upload']['size']:文件大小
//$_FILES['upload']['tmp_name']服务器上的临时文件夹
//$_FILES['upload']['error']:错误代码
//检测是否POST过来的
if($_SERVER['REQUEST_METHOD']=='POST'){
//判断文件是否上传过来
if(isset($_FILES['upload'])){
//设置文件类型为四种图片上传类型
$allow = ['image/jpg','image/jpeg','image/png','image/gif'];
//判断是否为这种文件类型,是的话才让他进来
if(in_array($_FILES['upload']['type'],$allow)){
//移动文件到指定的目录当中
move_uploaded_file($_FILES['upload']['tmp_name'],"./upload/{$_FILES['upload']['name']}");
}else{
//如果文件类型错误则进入假区间
echo "<script>alert('您输入的文件类型为非图片类型')</script>";
exit;
}
}
var_dump($_FILES['upload']['error']);
exit;
//对文件上传失败的进行验证
if(isset($_FILES['upload']['error'])){
switch($_FILES['upload']['error']){
//case为0时则文件上传成功
case 0:
echo '文件上传成功';
break;
case 1:
echo '文件超出了php.ini中的大小';
break;
case 2:
echo '文件超过表单中设置的大小';
break;
case 3:
echo '文件只有一部分上传了';
break;
case 4:
echo '没有文件被上传';
break;
case 6:
echo '缺乏临时文件夹';
break;
case 8:
echo '上传意外终止';
break;
default:
echo '未知错误';
break;
}
}
}
?>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号