background image

php 怎样上传多个不同类型的文件

其实就是批量上传,只是可以针对不同类型文件做一下处理
<meta http-equiv=”Content-Type” content=”text/html;charset=utf-8 >

<?php
function upload($to_up,$i){
    $uploaddir = ‘./’;
    //这里针对图片和文本文件做不同的处理,具体怎么做,可以自定义
    $piece = explode(‘.’,$to_up['name'][$i]);//分割字符串获取文件后缀
    if($piece[1]==”jpg”){//如果上传的是图片
    $uploadfile = $uploaddir . md5($piece[0]).’.’.$piece[1];//上传后的文件名
    $result = move_uploaded_file($to_up['tmp_name'][$i], $uploadfile);
    if(!$result){
        exit(‘

上传失败 );

    }
    return basename($uploadfile);
    }elseif($piece[1]==”txt”){//

 

如果上传的文本文件

    $piece = explode(‘.’,$to_up['name'][$i]);
    $uploadfile = $uploaddir . iconv(“UTF-8 , “gb2312 , “

上传后的文件 ).’.’.

$piece[1];//上传后的文件名,使用 icov 函数防止中文乱码
    $result = move_uploaded_file($to_up['tmp_name'][$i], $uploadfile);
    if(!$result){
        exit(‘

上传失败 );

    }
    return basename($uploadfile);    
    }
}
if($_POST['tijiao']){
$i=0;
foreach ($_FILES["to_up"]["error"] as $key => $error) {
   if ($error == UPLOAD_ERR_OK) {
       upload($_FILES["to_up"],$i);
   }
   $i++;//计数器自增以传递不同的文件名,具体可以打印$_FILES 数组查看数组结构
}
}
?>
<form action=”test.php” method=”post” enctype=”multipart/form-data”>
<p>多文件上传<br>