批改状态:未批改
老师批语:
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="542488">
<FIELDSET>
<LEGEND>文件上传</LEGEND>
<p><span>选择文件</span><input type="file" name="upload"></p>
</FIELDSET>
<p style="text-align: center"><button type="submit" name="submit">上传</button></p>
</form>
<?php
//系统变量$_FILES是一个二维数组,里面有很多我们要用到。文件上传控件,就是name属性。常用的属性有以下几个:
/*
$_FILES['file']['name'];//文件名
$_FILES['file']['size'];//文件大小
$_FILES['fiel']['type'];//文件属性
$_FILES['fiel']['tmp_name];//文件临时路径
$_FILES['fiel']['error'];//文件错误代码
*/
//在表单中,action里面可以填三种。
//第一种就是直接留空,也就是在当前文件中执行PHP代码。
//第二种就是直接写上当前文件名,就是在该文件路径中执行。
//第三种,也是最安全,起使用最好的就去。就是用$_SERVER['PHP_SELF'].在实际工作中要用htmlspecialchars()设置以免跨区域攻击。
if ($_SERVER['REQUEST_METHOD'] == 'POST') {//检查上传方法是不是POST上传
if (isset($_FILES['upload'])) {//检查是否有文件上传
$allow = ['image/jpg','image/gif','image/png'];//检查上传文件的格式
if (in_array($_FILES['upload']['type'],$allow)) {//判断上传文件的格式是不是allow里面的文件格式
//将文件上传移动到临时的目录下面
if (move_uploaded_file($_FILES['type']['tmp_name'],"upload/{$_FILES['upload']['name']}")) {
echo '文件上传成功';
}
}else {
echo '文件格式不对,只允许上传JPG/GIF/PNG格式文件';
}
}
//进行上传错误,代码来判断上传的错误信息
if ($_FILES['upload']['error'] > 0) {
echo '错误的原因是:';
switch ($_FILES['upload']['error']) {
case 1:
echo '文件超过了php.ini配置中设置的大小';
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;
}
//将临时文件删除,这是为了保险起见
if (file_exists($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name'])) {
unlink($_FILES['upload']['tmp_name']);
}
}
} else {
echo '1';
}
?>点击 "运行实例" 按钮查看在线实例
总结:老师请帮忙看一下,我有几个地方还是不很明白,第一个就是
/将文件上传移动到临时的目录下面
if (move_uploaded_file($_FILES['type']['tmp_name'],"upload/{$_FILES['upload']['name']}")) {
echo '文件上传成功';
这短不是很明白,move_uploaded_file是个函数,就是将文件上传到upolad这个目录 下面吗,如果没有upload这个目录,系统会自己创建,对吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号