php图片上传的形式
以上传图片为案例,上传文件也是同理的
单图片上传
代码
<?php
function file_error_code($i){
switch ($variable) {
case '1':
echo '上传的文件超过了php.ini中的允许上传的文件大小';
break;
case '2':
echo '上传的文件超过了表单中MAX_FILE_SIZE的允许的上传的文件大小';
break;
case '3':
echo '上传的文件不是完整的';
break;
case '4':
echo '没有找到被上传的文件';
break;
case '6':
echo '上传文件的临时目录不存在';
break;
case '7':
echo '上传的文件写入失败,请检查目录权限';
break;
}
}
if(isset($_FILES['pic_src'])){
if($_FILES['pic_src']['error'] >0){
echo '上传文件失败'.file_error_code($_FILES['pic_src']['error']);
}else{
is_uploader_file($_FILES['pic_src']['tmp_name']){
$allow = [ 'jpg','jpeg','gif','png','bmp' ] ;
//获取上传图片的后缀名
$ext = pathinfo($_FILES['pic_src']['name'])['extension'];
//判断上传文件是否符常见的图片文件类型的后缀
if(in_array($ext ,$allow)){
$dest= 'uploads/' .$_FILES['pic_src']['name'];
move_uploaded_file($_FILES['pic_src']['tmp_name'],$dest);
echo '<p>文件上传成功</p>';
echo "<img src='$dest' >";
}
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>单文件上传</title>
</head>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<fieldset>
<legend>单文件上传</legend>
<input type="file" name="pic_src" >
<button>上传</button>
</fieldset>
</form>
</body>
</html>
效果图
多图片上传
代码
<?php
if(isset($_FILES['pic_src'])){
foreach($_FILES['pic_src']['error'] as $k=>$v){
//只要判断$file['error'] == 0;
if($v == 0){
$dest= 'uploads/' .$_FILES['pic_src']['name'][$k];
move_uploaded_file($_FILES['pic_src']['tmp_name'][$k],$dest);
echo '<p>文件上传成功</p>';
echo "<img src='$dest' >";
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>多文件</title>
</head>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<fieldset>
<legend>多文件文件上传</legend>
<input type="file" name="pic_src[]" multiple>
<button>上传</button>
</fieldset>
</form>
</body>
</html>
效果图
多图片返回数组格式
多图片返回的效果
结语
关于尝试使用多图片上传的代码去测试上传单个图片显示做出了操作以图片显示
结论是 和上传多图片一样。算是想法和实践达到了一致