多圖上傳,如何抓到第一個、以及第二個之後的值?

我用了一個 ajax 的多圖上傳
已經可以多圖上傳了

$fileCount = count($_FILES['icon']['name']);

    for ($i = 0; $i < $fileCount; $i++) {

      $file = $_FILES['icon']['tmp_name'][$i];
      $dest = '../../images/admin/product/' . $_FILES['icon']['name'][$i];

      move_uploaded_file($file, $dest);
    }

只是我現在想要分開處理
第一張圖片
以及
第二張圖片以後的(不管幾張)

第一張圖我要 update 某一數據表
第二張圖以後的我要寫入數據表 (用foreach,有幾張就處理幾張)
只是我不知道這兩個我能怎麼抓?

阅读 2.5k
3 个回答

不知道是不是指的这样?

$fileCount = count($_FILES['icon']['name']);
$files = [];

    for ($i = 0; $i < $fileCount; $i++) {

      $file = $_FILES['icon']['tmp_name'][$i];
      $dest = '../../images/admin/product/' . $_FILES['icon']['name'][$i];

      move_uploaded_file($file, $dest);
      $files[] = $dest;
}

$first = true;
foreach($files as $file){
    if($first){
        $first = false;
        //第一张 update xxx
    }else{
        //第二张图开始 insert xx
    }
}

用for循环也是可以的,你一次上传多张图片就是一个三维数组,
你只要循环读取name,type,tmp_name,error,size的下标就好了,
$i=0是开始
那你就在循环中判断等于0的时候执行update
else
执行insert

$fileCount = count($_FILES['icon']['name']);

for ($i = 0; $i < $fileCount; $i++) {

  $file = $_FILES['icon']['tmp_name'][$i];
  $dest = '../../images/admin/product/' . $_FILES['icon']['name'][$i];
  move_uploaded_file($file, $dest);

  if($i == 0){
     // Update 可以直接执行,但是最好是用列队信息 这样不影响这里的效率
  }else{
     // Insert 同上
  }  

}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏