您的位置:首页 > 编程语言 > PHP开发

PHP实现文件上传

2015-11-20 23:18 211 查看
这是PHP实现文件上传的例子

<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>";
//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"<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格式的文件";
}
}
}
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: