PHP/게시판 만들기
여러 개 파일 첨부하기
ethanjoh
2008. 11. 30. 01:40
여러 개의 파일을 첨부하는 것도 그리 어렵지 않다. uploadedfile[]같 배열값으로 넘겨주면 된다.
$max_file_num = 3; //업로드할 파일 갯수 지정
echo "<table width=\"80%\">\n";
for($i=0; $i < $max_file_num; $i++)
{
echo "<tr><td width=\"120\" align=\"center\">파일 첨부 (1M이하)
<input type=\"file\" name=\"uploadedfile[]\" size=\"30\"> </td></tr>\n";
}
echo "</table>\n";
그리고 처리하는 부분에서 for문을 돌리면 된다.
$file_count = count($_FILES['uploadedfile']['name']);
$count = $file_count;
for($i=0; $i < $file_count; $i++)
{
if($_FILES['uploadedfile']['name'][$i] == "")
{
$count = $count -1;
}
}
for($i=0; $i < $count; $i++)
{
// 중복되지 않는 파일로 만든다
$filename[$i] = $uploaddir.substr(md5(uniqid($g4[server_time])),0,8)."_".$_FILES['uploadedfile']['name'][$i];
....
}
위에서 $count 변수는 실제 업로드된 갯수를 말한다.
로드를 3개까지 할 수 있다면, 실제로는 하나만 업로드를 할 수도 있기 때문에 별도로 체크를 했다.
아마도 이런 식으로 하면 여러 개의 파일을 업로드 하는데도 별 문제는 없을 듯....
하지만 나중에 글 수정 시에 업로드된 파일들을 수정하는데 어려움을 겪어 결국 유보하기로...쩝