php系列之文件上传实现

举报
yd_273762914 发表于 2020/12/02 23:44:46 2020/12/02
【摘要】 <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 t...

<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格式的文件";

}

            }

                                    }

}

?>

 

文章来源: smilenicky.blog.csdn.net,作者:smileNicky,版权归原作者所有,如需转载,请联系作者。

原文链接:smilenicky.blog.csdn.net/article/details/44489627

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。