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>