<tr>
<td align="right" bgcolor='#d0e0f4'>大图片:</td>
<td><input type="file" name="file[]" /></td>
</tr>
<tr>
<td align="right" bgcolor='#d0e0f4'>小图片:</td>
<td><input type="file" name="file[]" /></td>
</tr>               $filename = $_FILES["file"]["name"];
$str1 = explode(".",$filename[0]);
                $str2 = explode(".",$filename[1]); $filename1 = "0".".".$str1[1];
$filename2 = "0".".".$str2[1]; $preview1=S.time($newDate).$filename2;
$preview0=time($newDate).$filename1; for($i=0;$i<count($filename);$i++){
move_uploaded_file($_FILES['file']['tmp_name'][$i],$dir.$preview.$i);
}这样子是肯定不对的,请教高手,我该怎么修改呢??

解决方案 »

  1.   

    不过需要解决一个问题,会不会同一时间,比较多,上传,影响效率。可以多加几个字母function randName()
    {
      do
      {
       //随机文件名,
      }while(文件名存在于目录);
      return 文件名;
    }
      

  2.   

    $filename1 = "0".".".$str1[count($str1)-1];
    $filename2 = "0".".".$str2[count($str2)-1];$preview1=S.time($newDate).$filename2;
    $preview0=time($newDate).$filename1;for($i=0;$i<count($filename);$i++){
    move_uploaded_file($_FILES['file']['tmp_name'][$i],$dir.${"preview$i"});
    }
      

  3.   

    foreach($_FILES["file"]["name"] as $i=>$f) {
      if(! $f) continue; //没有上传则跳过
      list($fn, $ext) = split('.', $f); //分别取得主文件名和后缀
      $fn = time() . chr(ord('a'+$i)) . ".$ext"; //用时间命名目标文件,并将附加一字母防止重名
      move_uploaded_file($_FILES['file']['tmp_name'][$i], $dir.$fn); //保存上传文件
    }