需要上传三张图片,也就是 3个 file控件
这三个控件都需要限定文件格式,"jpg","jpeg","bmp"
然后还要判断文件大小,必须小于2MB以前单纯做一个的时候会做,但是三个怎么判断啊总出错,file1格式对,file2格式错,但是仍然可以判断进

解决方案 »

  1.   

    复制你第一个可以的代码
    然后改下名称 比如你在表单的第一个file控件名叫 upload
    第二 第三改成 upload2 upload3
    只要你第一个正确肯定可以 
    要不给代码
      

  2.   


      if($_POST[sub])
      {
         $name=$_POST[name];//お名前
     $jname=$_POST[jname];//フリガナ
     $email=$_POST[email];//email
     $tel=$_POST[tel];//電話番号
     $handphone=$_POST[handphone];//携帯電話
     $wish1=$_POST[wish1];//第一希望
     $wish2=$_POST[wish2];//第二希望
     $wish3=$_POST[wish3];//第三希望
     $wish4=$_POST[wish4];//第四希望
     $asse=$_POST[asse];//自分に対しての評価
         $kzm1=substr($_FILES[image1][name],strrpos($_FILES[image1][name],".")+1);
     $kzm2=substr($_FILES[image2][name],strrpos($_FILES[image2][name],".")+1);
     $kzm3=substr($_FILES[image3][name],strrpos($_FILES[image3][name],".")+1);
     $classid=30;//id,暂时标示,以后看分配
     
     if($kzm1!="" and $kzm1!="jpg" and $kzm1!="JPG" and $kzm1!="jpeg" and $kzm1!="JPEG" and $kzm1!="bmp" and $kzm1!="BMP")//判断上传图片的格式
       {
            echo "<script>alert('写真1图片格式错误')</script>";
    return;
       }
       else if($kam2!="" and $kzm2!="jpg" and $kzm2!="JPG" and $kzm2!="jpeg" and $kzm2!="JPEG" and $kzm2!="bmp" and $kzm2!="BMP" )
       {
            echo "<script>alert('写真2图片格式错误')</script>";
    return;
       }
       if($kzm3!="" and $kzm3!="jpg" and $kzm3!="JPG" and $kzm3!="jpeg" and $kzm3!="JPEG" and $kzm3!="bmp" and $kzm3!="BMP")
       {
            echo "<script>alert('写真3图片格式错误')</script>";
    return;
       }
        else if($_FILES[image1][size]>2000000)
       {
            echo "<script>alert('写真1大于2MB,请重新选择图片')</script>";
       }
          else if($_FILES[image2][size]>2000000)
       {
            echo "<script>alert('写真2大于2MB,请重新选择图片')</script>";
       }
          else if($_FILES[image3][size]>2000000)
       {
            echo "<script>alert('写真3大于2MB,请重新选择图片')</script>";
       }
     else
       {  
          if(!is_dir("file"))//file不存在的情况下建立file文件夹
     {
        mkdir("file");
     }
     $upfile1="file/".date(ymjhis).rand(1,1000).".".$kzm1;//上传路径
     $upfile2="file/".date(ymjhis).rand(1,1000).".".$kzm1;//上传路径
     $upfile3="file/".date(ymjhis).rand(1,1000).".".$kzm1;//上传路径
     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,classid) values ('$name','$jname','$email','$tel','$handphone','$wish1','$wish2','$wish3','$wish4','$asse','$upfile1','$upfile2','$upfile3','$classid')";//SQL语句
         include("db.php");//数据库操作
     if($ret)
     {
         echo "<script>alert('输入成功');</script>";
     }
      } 
    }
      
      

  3.   

    为什么要这样写呢?

    <input type='file name='image[]' >php$msg = '';
    foreach($_FILES['image']['name'] as $i=>$name) {
      $kzm = strtolower(substr($name, strrpos($name,".")+1));
      if(! in_array($kzm, array("jpg","jpeg","bmp"))
        $msg .= "<script>alert('写真1图片格式错误')</script>";
      if($_FIELDS['image']['size'][$i] > 2000000)
        $msg .= "<script>alert('写真1大于2MB,请重新选择图片')</script>";
    }
    if(! empty($msg)) {
      echo $msg;
      return;
    }
      
      

  4.   

    html代码部分是这样的分三个IMAGE <tr>
        <td height="25"><span class="STYLE16">写真1</span></td>
        <td colspan="2"><input name="image1" type="file" id="image1" size="30" /><label><div><? echo $_SESSION[image1]?></div></label></td>
          <span class="STYLE13"><span class="STYLE22">※ あまり大きな写真は送信できません</span>。</span><tr>
        <td height="25"><span class="STYLE16">写真2</span></td>
        <td colspan="2"><input name="image2" type="file" id="image2" size="30" /></td>
      </tr>
      <tr>
        <td height="25"><span class="STYLE16">写真3</span></td>
        <td colspan="2"><input name="image3" type="file" id="image3" size="30" /></td>
      

  5.   

    通过后缀名去判断文件类型很显然是不可靠的,建议通过MIME类型去判断list($width, $height, $type, $attr) = getimagesize($_FILES['Filedata']['tmp_name']);
    通过判断$type是否为".jpg",".jpeg",".bmp"
      

  6.   


    <?php 
      if($_POST['sub'])
      {
      $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>";
     }
     if($_FILES['image']['size'][$i] > 2000000)
    {
     $msg .= "<script>alert('写真".$j."大于2MB,请重新选择图片')</script>";
    } }
    if(!empty($msg)) {
     echo $msg;
      return;
    }
    $j += 1;
    }
    }
    ?>
    <form method="post" action="t.php" enctype="multipart/form-data">
    写真1<input type="file" name="image[]"><br>
    写真2<input type="file" name="image[]"><br>
    写真3<input type="file" name="image[]"><br>
    <input type="submit" value="sub" name="sub">
    </form>用版主的代码改了下 版主的少了个 ) 跟$_FIELDS写错 楼主试的话改下