批改状态:合格
老师批语:
代码如下
<!--文件上传请求必须是POST-->
<!--允许数据类型必须是multipart/form-data-->
<!--action三种写法-->
<!--1.空-->
<!--2.当前脚本-->
<!--3.现在用的 -->
<form action="<?php echo htmlspecialchars( $_SERVER['PHP_SELF'])?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="file-size" value="542488">
<fieldset>
<legend align="center">文件上传</legend>
<p><strong>选择文件:</strong><input type="file" name="upload"></p>
</fieldset>
<p><button type="submit" name="submit">上传</button></p>
</form>
<?php
//$_FILES:二维数组
//$_FILES['当前上传文件的控件名称,input[name="upload"]']
//$_FILES['upload']['name']文件原始名称
//$_FILES['upload']['type']文件类型
//$_FILES['upload']['size']文件大小
//$_FILES['upload']['tmp_name']服务器上临时文件夹
//$_FILES['upload']['error']错误代码
if ($_SERVER['REQUEST_METHOD']=='POST') {
//判断是否有文件上传
if (isset($_FILES['upload'])) {
$allow = ['image/jpg','image/jpeg', 'image/png'];
if (in_array($_FILES['upload']['type'], $allow)) {
if (move_uploaded_file($_FILES['upload']['tmp_name'], "upload/{$_FILES['upload']['name']}")) {
echo '<script>alert("上传成功")</script>';
}
} else {
echo '<script>alert("上传文件格式不对")</script>';
}
}
if ($_FILES['upload']['error'] > 0) {
echo '<p>错误原因:<strong>';
switch ($_FILES['upload']['error']) {
case 1:
echo '文件超过大小';
break;
case 2:
echo '文件超过了表单中常量设置的大小';
break;
case 3:
echo '仅有部分文件被上传';
break;
case 4:
echo '没有文件被上传';
break;
case 6:
echo '没有可用的临时文件夹';
break;
case 7:
echo '磁盘已满,写入失败';
break;
case 8:
echo '上传意外中止';
break;
default:
echo '未知错误';
break;
}
echo '</strong></p>';
if (file_exists($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name'])) {
unlink($_FILES['upload']['tmp_name']);
}
}else {
echo '1';}
}
?>样式如下
手写如下
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号