2012-04-19 14 views
-3

私はいくつかのファイルをディレクトリにアップロードするためのアップロードスクリプトを持っています。すべてのファイルがループを通って実行され、サイズや終了のエラー、または終了のエラーがないかどうかがチェックされます。エラーがなければアップロードされます。ループから結果の数を取得する方法

if (is_array($_FILES ['image'] ['tmp_name'])) { 
    foreach ($_FILES ['image'] ['tmp_name'] as $key => $val) { 
     ... 

     if (! in_array ($fileExt, $allowedExtensions)) { 
      $errors [$fileName] [] = "format not accepted"; 
     }... 

      if ((count ($errors1) == 0) && (count ($errors) === 0)) { 
       if (move_uploaded_file ($fileTemp, $fileDst)) { 
       //...        
      } 
     } 
    } 
} 

私の質問は、成功しているループを通って走っアップロードされたファイルの数をカウントする方法があり、ありますか?どうもありがとう。

+2

基本カウンター! – malletjo

+1

http://stackoverflow.com/questions/4367861/how-can-i-know-a-number-of-uploaded-files-with-php – Seabass

答えて

2

成功したアップロードをそれぞれカウントする必要があります。以下のような

if (is_array($_FILES ['image'] ['tmp_name'])) { 
    $Counter=0;  // initialize counter variable 
     foreach ($_FILES ['image'] ['tmp_name'] as $key => $val) { 

      $fileName = $_FILES ['image'] ['name'] [$key]; 
      $fileSize = $_FILES ['image'] ['size'] [$key]; 
      $fileTemp = $_FILES ['image'] ['tmp_name'] [$key]; 

      $fileExt = pathinfo ($fileName, PATHINFO_EXTENSION); 
      $fileExt = strtolower ($fileExt); 

      if (empty ($fileName)) 
      continue; 

      if (! in_array ($fileExt, $allowedExtensions)) { 
       $errors [$fileName] [] = "format not accepted"; 
      }... 

       if ((count ($errors1) == 0) && (count ($errors) === 0)) { 
        if (move_uploaded_file ($fileTemp, $fileDst)) { 
        //...   
        $Counter++;  // increment if successful upload 
       } 
      } 
     } 
    } 

echo $Counter; //it will give total count of successfully uploaded files 
+0

私が探していた方法です。それがいかに簡単か驚くほどです。どうもありがとうございました。 – bonny

1

ちょうどカウンタ変数を使用しています。 move_uploaded_fileがtrueを返すときにファイルを正常にアップロードしたことが分かりましたか?

$counter = 0; 
//... your code 
if ((count ($errors1) == 0) && (count ($errors) === 0)) { 
    if (move_uploaded_file ($fileTemp, $fileDst)) { 
     $counter++; 
     //... some other code 
    } 
} 

だから、あなたはforeachループを離れるとき$counterは期待値を持つことになります。

関連する問題