본문 바로가기

프로그래밍/PHP

php 파일 배열로 업로드 하기

























php 파일 업로드시 동일 이름으로 여러개 업로드 하기 php 파일업로드시 DB 한 컬럼에 여러파일 저장시 사용하기 구분자는 | 로 구분.
 html 에서 아래 처럼 코드 작성




<div>
     파일 <input type="file" name="p_img1[]"  />  
     파일 <input type="file" name="p_img1[]"  /> 
     파일 <input type="file" name="p_img1[]"  /> 
/div>
 

 받는 쪽 php 파일에서 배열 업로드는 아래처럼 코드 작성





$file_total = "";

foreach ($_FILES["p_img1"]["error"] as $key => $error)
{
       $tmp_name = $_FILES["p_img1"]["tmp_name"][$key];
       if (!$tmp_name) continue;

       $name = basename($_FILES["p_img1"]["name"][$key]);
   $file_total =  $file_total.$name."|";
   echo "file====".$name."<br>";  //파일이 배열로 잘 업로드 되는걸 확인할 수 있다. 출력해보기

    if ($error == UPLOAD_ERR_OK)
    {
        if ( move_uploaded_file($tmp_name, "/tmp/".$name) )
            $uploaded_array[] .= "Uploaded file '".$name."'.<br/>\n";
        else
            $errormsg .= "Could not move uploaded file '".$tmp_name."' to '".$name."'<br/>\n";
    }
    else $errormsg .= "Upload error. [".$error."] on file '".$name."'<br/>\n";
}


echo "file_total===".$file_total."<br>";   
       // 업로드 한 파일이 잘 담겨져 있는걸 확인 할 수 있다. 파일 구분자는 | 이다.



 위처럼 코드를 작성하면 php 파일 배열 업로드가 가능하니 상황에 맞게 고쳐서 사용하면 될듯하다.