php 文件上传

form.php

<html>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">

<label for="file">上传:</label>
<input type="file" name="file" id="file" /> 
<input type="submit" name="submit" value="上传" />
</form>

</body>
</html>

 upload.php

<?php
//设置上传文件大小限制(单位b)
$max_size=500000;
//设置上传文件的文件格式限制
$format=array("image/jpeg","image/gif","image/png");
//文件上传目录
$dir=dirname(__FILE__) ."/upload/";


//被上传文件的名称
$name=$_FILES["file"]["name"];
//被上传文件的类型
$type=$_FILES["file"]["type"];
//被上传文件的大小,以字节计
$size=$_FILES["file"]["size"];
//存储在服务器的文件的临时副本的名称
$tmp_name=$_FILES["file"]["tmp_name"];
//由文件上传导致的错误代码
$error=$_FILES["file"]["error"];

//判断文件大小
if($size>$max_size){
    exit("文件大小超出最大值");
}
//判断文件格式
if(!in_array($type,$format)){
    exit("无效的文件格式");
}

//判断上传目录,不存在就创建
if(!is_dir($dir)){
    mkdir($dir,true);
}

//生成文件名
date_default_timezone_set("PRC");
$file_name=time().mt_rand(1111, 999999);
//获取文件格式
$ext=substr($type, strpos($type, "/")+1);

if($error>0){
    exit($error);
}else{
    if(move_uploaded_file($tmp_name, $dir.$file_name.".".$ext)){
       exit("上传成功"); 
    }
}

相关推荐