2012-09-22 2 views
0

여러 파일을 업로드하려고하는데 "오류 : 배열"이 나타납니다. 나는 아래 양식과 PHP를 게시했습니다.PHP 다중 파일 업로드 반환 코드 배열

if(isset($_POST['upload'])){ 
     $count = 0; 
     foreach($_FILES["file"]["name"] as $filename){ 
      $count = $count + 1; 
      $tmp = $_FILES["file"]["tmp_name"][$count]; 
      $size = $_FILES["file"]["size"]; 
      $error = $_FILES["file"]["error"]; 
      $type = $_FILES["file"]["type"]; 
     } 
     if($error > 0){ 
      $stat = "Error: $error<br />"; 
     } else { 
      move_uploaded_file($tmp,"uploads/$filename"); 
     } 
    } 

<form method="POST" enctype="multipart/form-data"> 
    <input type="file" name="file[]" id="file" multiple/><br /> 
    <input type="submit" name="upload" value="Upload"> 
</form> 

답변

1

문제는 $ _FILES가 다차원 배열입니다. 제출 된 파일 필드가 2 개인 경우 각 색인 아래에 두 개의 값이 있습니다 (예 : [ 'tmp_name'] [0] 및 [ 'tmp_name'] [1]).

따라서 $ _FILES [ 'file'] [ 'error']에는 파일 필드에 대한 오류 배열이 포함되어 있습니다.

이러한 통해서 루프는 예를 들어, 그들을 볼 수 있습니다 :

foreach($error AS $err) { 
    echo $err . '<br />'; 
} 

또는 인 print_r ($ 오류); 배열을 인쇄 할 수 있습니다 (제작에만 국한 됨).

희망이 있습니다.