简单实现一个上传图片的功能
form.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<form action="upload.php" method="POST" enctype="multipart/form-data">
<!-- <input type="hidden" name="MAX_FILE_SIZE " value="10"> -->
<input type="file" name='file'>
<input type="submit" value='上传'>
</form>
</body>
</html>
upload.php:
<?php
//$_FILES -- $HTTP_POST_FILES [已弃用] — HTTP 文件上传变量
var_dump($_FILES);
//先判断是否有错误号
if($_FILES['file']['error']){
switch ($_FILES['file']['error']) {
case 1:
$str='上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值';
break;
case 2:
$str='上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。';
break;
case 3:
$str='文件只有部分被上传。 ';
break;
case 4:
$str='没有文件被上传。 ';
break;
case 6:
$str='找不到临时文件夹。';
break;
case 7:
$str='文件写入失败。';
break;
}
echo $str;
exit;
}
//判断准许的文件大小
if($_FILES['file']['size']>pow(1024,2)*2){
exit('文件大小超过了准许的大小');
}
//判断准许的mime类型 文件后缀
$allowMime = ['image/png','image/jpeg','image/gif','image/wbmp'];
$allowSubFix = ['png','jpeg','gif','wbmp','jpg'];
$info = pathinfo($_FILES['file']['name']);
$subFix = $info['extension']; //后缀
if(!in_array($subFix,$allowSubFix)){
exit('不准许的文件后缀');
}
if(!in_array($_FILES['file']['type'],$allowMime)){
exit('不准许的mime类型');
}
//拼接上传路径
$path = 'upload/';
if(!file_exists($path)){
mkdir($path);
}
//文件名随机
$name=uniqid().'.'.$subFix;
//判断是否是上传文件
if(is_uploaded_file($_FILES['file']['tmp_name'])){
//判断文件是否可以移动
if(move_uploaded_file($_FILES['file']['tmp_name'], $path.$name)){
echo "上传成功";
}else{
echo "文件移动失败";
}
}else{
exit('不是上传文件');
}
var_dump($info);
//
运行截图: