前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php系列之文件上传实现

php系列之文件上传实现

作者头像
SmileNicky
发布2022-05-10 17:56:52
3960
发布2022-05-10 17:56:52
举报
文章被收录于专栏:Nicky's blogNicky's blog
代码语言: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格式的文件";

}

            }

                                    }

}

?>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档