这是HTML代码,三个file上传文本框,需要限定长传的文件格式jpg,jpeg,bmp和大小2mb <input name="image[]" type="file" id="image1" size="30" />
<input name="image[]" type="file" id="image2" size="30" />
<input name="image[]" type="file" id="image3" size="30" /> $msg='';
$j=1;
foreach($_FILES['image']['name'] as $i=>$name)
{
$kzm=strtolower(substr($name,strrpos($name,".")+1));//将所有扩展名改成小写
if(!empty($kzm))//扩展名不为空时
{
if(!in_array($kzm,array('jpg','jpeg','bmp')))
{
$msg.="<script>alert('写真".$j."图片格式错误');</script>";
}
else if($_FILES['image']['size'][$i]>2000000)
{
$msg.="<script>alert('图片".$j."大于2MB');</script>";
}
}
if(!empty($msg))
{
echo $msg;
return;
}
//如果单纯写到这一步 做判断可以判断出第几个文本框上传的有错误,但是还牵涉一个上传,在数据库中有3个存放image的字段,image1,image2,image3,所以上传和SQL语句,就必须是3个,问题就出现在下边的这个$j+=1;
$j += 1;
//如果上边的语句都通过就应该上传文件,和用SQL语句插入数据库,但是我在写这两项的时候碰到问题,把else写在$j+=1后边,就会报错,但是$j+=1还只能写在那.
else
{
if(!is_dir("file"))//file不存在的情况下建立file文件夹
{
mkdir("file");
}
$upfile1="file/".date(ymjhis).rand(1,1000).".".$kzm1;//上传路径
$upfile2="file/".date(ymjhis).rand(1,1000).".".$kzm2;
$upfile3="file/".date(ymjhis).rand(1,1000).".".$kzm3;
move_uploaded_file($_FILES[image1][tmp_name],$upfile1);//上传文件
move_uploaded_file($_FILES[image2][tmp_name],$upfile2);
move_uploaded_file($_FILES[image3][tmp_name],$upfile3);
$sql="insert into huanjie_ecms_wishfemale (name,jname,email,tel,handphone,wish1,wish2,wish3,wish4,asse,image1,image2,image3) values ('$name','$jname','$email','$tel','$handphone','$wish1','$wish2','$wish3','$wish4','$asse','$upfile1','$upfile2','$upfile3')";//SQL语句
include("db.php");//数据库操作
if($ret)
{
echo "<script>alert('输入成功');</script>";
}
}
//反正我写到这基本都乱了,不知道该怎么理顺
上传到服务器的页,是按照最麻烦的方法写的,而且判断时存在BUG,就看那帮用户能不能发现了
求高手帮忙~~~
<input name="image[]" type="file" id="image2" size="30" />
<input name="image[]" type="file" id="image3" size="30" /> $msg='';
$j=1;
foreach($_FILES['image']['name'] as $i=>$name)
{
$kzm=strtolower(substr($name,strrpos($name,".")+1));//将所有扩展名改成小写
if(!empty($kzm))//扩展名不为空时
{
if(!in_array($kzm,array('jpg','jpeg','bmp')))
{
$msg.="<script>alert('写真".$j."图片格式错误');</script>";
}
else if($_FILES['image']['size'][$i]>2000000)
{
$msg.="<script>alert('图片".$j."大于2MB');</script>";
}
}
if(!empty($msg))
{
echo $msg;
return;
}
//如果单纯写到这一步 做判断可以判断出第几个文本框上传的有错误,但是还牵涉一个上传,在数据库中有3个存放image的字段,image1,image2,image3,所以上传和SQL语句,就必须是3个,问题就出现在下边的这个$j+=1;
$j += 1;
//如果上边的语句都通过就应该上传文件,和用SQL语句插入数据库,但是我在写这两项的时候碰到问题,把else写在$j+=1后边,就会报错,但是$j+=1还只能写在那.
else
{
if(!is_dir("file"))//file不存在的情况下建立file文件夹
{
mkdir("file");
}
$upfile1="file/".date(ymjhis).rand(1,1000).".".$kzm1;//上传路径
$upfile2="file/".date(ymjhis).rand(1,1000).".".$kzm2;
$upfile3="file/".date(ymjhis).rand(1,1000).".".$kzm3;
move_uploaded_file($_FILES[image1][tmp_name],$upfile1);//上传文件
move_uploaded_file($_FILES[image2][tmp_name],$upfile2);
move_uploaded_file($_FILES[image3][tmp_name],$upfile3);
$sql="insert into huanjie_ecms_wishfemale (name,jname,email,tel,handphone,wish1,wish2,wish3,wish4,asse,image1,image2,image3) values ('$name','$jname','$email','$tel','$handphone','$wish1','$wish2','$wish3','$wish4','$asse','$upfile1','$upfile2','$upfile3')";//SQL语句
include("db.php");//数据库操作
if($ret)
{
echo "<script>alert('输入成功');</script>";
}
}
//反正我写到这基本都乱了,不知道该怎么理顺
上传到服务器的页,是按照最麻烦的方法写的,而且判断时存在BUG,就看那帮用户能不能发现了
求高手帮忙~~~
$msg='';
$j=1;
foreach($_FILES['image']['name'] as $i=>$name)
{
$kzm=strtolower(substr($name,strrpos($name,".")+1));//将所有扩展名改成小写
if(!empty($kzm))//扩展名不为空时
{
if(!in_array($kzm,array('jpg','jpeg','bmp')))
{
$msg.="<script>alert('写真".$j."图片格式错误');</script>";
}
else if($_FILES['image']['size'][$i]>2000000)
{
$msg.="<script>alert('图片".$j."大于2MB');</script>";
}
}
$j += 1;
if(!empty($msg)){
echo $msg;
// 不知道你具体想怎么做,但是如果这里出错的话,应该用break跳出foreach循环,而不是用return;
break;
}
else
{
if(!is_dir("file"))//file不存在的情况下建立file文件夹
{
mkdir("file");
}
$upfile1="file/".date(ymjhis).rand(1,1000).".".$kzm1;//上传路径
$upfile2="file/".date(ymjhis).rand(1,1000).".".$kzm2;
$upfile3="file/".date(ymjhis).rand(1,1000).".".$kzm3;
move_uploaded_file($_FILES[image1][tmp_name],$upfile1);//上传文件
move_uploaded_file($_FILES[image2][tmp_name],$upfile2);
move_uploaded_file($_FILES[image3][tmp_name],$upfile3);
$sql="insert into huanjie_ecms_wishfemale (name,jname,email,tel,handphone,wish1,wish2,wish3,wish4,asse,image1,image2,image3) values ('$name','$jname','$email','$tel','$handphone','$wish1','$wish2','$wish3','$wish4','$asse','$upfile1','$upfile2','$upfile3')";//SQL语句
include("db.php");//数据库操作
if($ret)
{
echo "<script>alert('输入成功');</script>";
}
}
}
?>
你判断图片是否有问题可以在浏览的时候用js判断
当然批量上传我推荐你用swfupload这个flash上传插件,非常好用,也很简单
$fileinfo['extension']