php系列之文件上传实现

2022-05-10 17:56:52 浏览数 (1)

代码语言:javascript复制
<html>

<head>

<meta content="text/html"charset="utf-8"></meta>

</head>

<body>

<form method="post"enctype="multipart/form-data">

<table border="0">

<tr>

<td>请上传文件:</td>

<td><input type="hidden"name="MAX_FILE_SIZE"value=<?=MAX_FILE_SIZE;?>></td>

<td><input type="file"name="upfile"></td>

<td><input type="submit"name="sub"value="上传"></td>

</tr>

</table>

</form>

</body>

</html>

<?php 

define("MAX_FILE_SIZE",102400);//定义文件MAX_FILE_SIZE

$upfile=$_FILES["upfile"];

//获取数组里的值

$name=$upfile["name"];//文件名

$type=$upfile["type"];//文件类型

$size=$upfile["size"];//文件大小

$tmp_name=$upfile["tmp_name"];//临时文件路径

if(isset($_POST["sub"])){

if(is_uploaded_file($tmp_name)){//判断上传文件是否存在

switch($type){//switch判断类型

case "image/png":$oktype=true;break;

case "image/jpeg":$oktype=true;break;

case "image/gif":$oktype=true;break;

case "image/jpg":$oktype=true;break;

case "image/bmp":$oktype=true;break;

default:$oktype=true;

}

if($oktype){//如果返回true

$error=$upfile["error"];//上传后系统返回的值

/**

 * 0.上传成功

 * 1.超过文件大小,php.ini指定的值

 * 2.超过文件大小,MAX_FILE_SIZE

 * 3.文件部分上传

 * 4.文件上传失败

 * 5.上传的文件大小为0

 */

if($error==0&&$size<=MAX_FILE_SIZE){//文件大小小于MAX_FILE_SIZE

echo"<br>上传成功!<br>";

echo"<br>===============<br>";

//foreach($upload as $name =>$value){

//echo $name."=".$value;

//}

echo "文件名:".$name."<br>";//输出文件名

echo "文件大小:".$size."<br>";//输出文件大小

echo "文件类型:".$type."<br>";//输出文件类型

echo "文件临时文件路径:".$tmp_name."<br>";//输出文件临时路径

$upload="upload/";//文件目录

if(!file_exists($upload)){//判断文件目录是否存在

mkdir($upload);//不存在,则创建文件目录

chmod($upload,"700");//可读写浏览

}

$iconv=iconv("utf-8","gb2312",$name);//转换编码格式

$destination=$upload.$iconv;//路径

move_uploaded_file($tmp_name,$destination);//上传成功,则移动文件到创建的目录

echo "==============<br>";

echo"图片预览:<br>";

echo"<img src='$destination'></img>";//预览文件

}else if($error==1){//错误类型

echo "超过文件大小,在php.ini文件下修改"; 

}else if($error==2){

echo "超过文件大小,MAX_FILE_SIZE选项的设定值";

}else if($error==3){

echo "文件只有部分上传";

}else if($error==4){

echo "文件没有上传";

}else if($error==5){

echo "上传的文件大小为零";

}else{

echo "请上传jpeg,gif,pnh格式的文件";

}

            }

                                    }

}

?>

0 人点赞