上传单个文件:
<td><input name="form_data" type="file" size="40" class="xuanze"></td>
上传多个文件:
<td><input name="form_data[]" type="file" multiple="multiple" size="40" class="xuanze"></td>
前端(files.php)代码:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>上传页面</title>
</head>
<body>
<script language="javascript">
function Juge(theForm){
if(theForm.form_data.value == ""){
alert("请选择一张图片上传!");
theForm.upfile.focus();
}
if(theForm.form_description.value == ""){
alert("请填好图片说明!");
theForm.content,focus();
}
if(theForm.form_description.value.length>30){
alert("图片说明必须少于30字。");
theForm,content,focus();
}
}
</script>
<div id="maxdiv">
<div id="left">
<form class="form" enctype="multipart/form-data" action="up_loadfiles.php" method="post">
<table align="center" border="1">
<tr>
<td>选择图片:</td>
<td><input name="form_data[]" type="file" multiple="multiple" size="40" class="xuanze"></td>
</tr>
<tr>
<td>输入说明:</td>
<td><input name="form_description" type="text" size='30'>(*>限30字)</td>
</tr>
<tr>
<td colspan="2">
<center>
<input type="submit" name="submit" value="提交" class="tijiao">
<input type="reset" name="reset" value="重置" class="chongzhi">
</center>
</td>
</tr>
</table>
</form>
<div id="button">
<form >
</div>
</body>
</html>
php(up_loadfiles.php)代码:
<?php
//var_dump($_FILES);
//判断文件是否上传成功
if(!empty($_FILES)){
//多个文件,逐一遍历
foreach($_FILES['form_data']['error'] as $k=>$i){
if($i === 0){
//获取上传文件的类型
$type = $_FILES['form_data']['type'][$k];
//判断上传的文件的类型
if($type == 'image/gif' || $type == 'image/png' || $type == 'image/jpeg' || $type == 'image/jpg'){
$size = $_FILES['form_data']['size'][$k]; //获取上传文件大少
if($size < 50*1024){ //大少为50k
//重新把上传的文件名改了如下,防止上传的文件名相同而覆盖原来文件。生成的文件名为时间戳和一个
1000到9999的随机整数的加密后的数字。
$newName = md5(time().mt_rand(1000,9999));
//获取原来上传的文件的扩展名
function getFileExts($path){
$pos = strrpos($path,"."); //strrpos()获取$path中的最后一个.的位置
return substr($path,$pos+1); //substr()返回$path中第$pos+1开始到最后的所有字符
}
$extName = getFileExts($_FILES['form_data']['name'][$k]);
//文件名新名称为上面的数字加原来的扩展名
$filename = $newName.".".$extName;
//move_uploaded_file把上传的文件保存在./upload/目录下
$re = move_uploaded_file($_FILES['form_data']['tmp_name'][$k],"./upload/".$filename);
if($re){
echo '文件保存成功';
}else{
echo '文件保存失败';
}
}else{
echo '上传的文件太大了';
}
}else{
echo '文件类型错误';
}
}
}
}else{
echo '没有上传文件';
}
?>
图: