8
5
2008
0

[HTML][PHP][转]多文件上传

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>上传一组文件</title>
</head>

<body>
<form action="" method="post" enctype="multipart/form-data">
<p>同时上传多个文件:<br />
<input type="file" name="userfile[]" /><br />
<input type="file" name="userfile[]" /><br />
<input type="file" name="userfile[]" /><br />
<input type="submit" value="上传" />
</p>
</form>
</body>
</html>
 

 

<?php
$root_dir=str_replace("\\", '/', dirname(__FILE__));
//$root_dz=str_replace("\\", '/', substr(dirname(__FILE__), 0, -8));
//如本文件不在站点根目录可用上行替换第一行,根据情况修改后面的数字8即可.
//例如本文件在“/home/web/include”文件夹中,而站点根目录是“/home/web”,数字8表示“/include”有8个字符.
$uploaddir = $root_dir."/";//设置上传目录
$f_type=strtolower("jpg,jpeg,gif,png,swf,bmp,txt,rar,zip,doc");//设置可上传的文件类型
$file_size_max=100*1024;//限制单个文件上传最大容量
$overwrite = 1;//是否允许覆盖相同文件,1:允许,0:不允许
$f_input="userfile";//设置上传域名称

if($_FILES[$f_input]){
    foreach($_FILES[$f_input]["error"] as $key => $error){
        $up_error="no";
        if ($error == UPLOAD_ERR_OK){
            $f_name=$_FILES[$f_input]['name'][$key];//获取上传源文件名
            $uploadfile=$uploaddir.strtolower(basename($f_name));
             
            $tmp_type=substr(strrchr($f_name,"."),1);//获取文件扩展名
            if(!strstr($f_type,$tmp_type)){
                echo "对不起,不能上传".$tmp_type."格式文件, ".$f_name." 文件上传失败!<br />";
                $up_error="yes";
            }
             
            if ($_FILES[$f_input]['size'][$key]>$file_size_max) {
                echo "对不起,你上传的文件 ".$f_name." 容量为".round($_FILES[$f_input]['size'][$key]/1024)."Kb,大于规定的".($file_size_max/1024)."Kb,上传失败!<br />";
                $up_error="yes";
            }
             
            if (file_exists($uploadfile)&&!$overwrite){
                echo "对不起,文件 ".$f_name." 已经存在,上传失败!<br />";
                $up_error="yes";
            }
             
            //取消下两行的注释可用日期和时间自定义文件名
            //if(function_exists('date_default_timezone_set')){date_default_timezone_set('PRC');}//设置时区
            //$uploadfile=$uploaddir.date("YmdHis").$key.".".$tmp_type;
            if(($up_error!="yes") and (move_uploaded_file($_FILES[$f_input]['tmp_name'][$key], $uploadfile))){
                echo "文件 ".$f_name." 上传成功!<br />";
            }
        }
    }
}
?>
Category: PHP | Tags: html php 文件上传

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com