기본적인틀은 코드프로젝트에서 따왓는데 어딘지 잘 모르겟네요
스크립트 부분만 조금 수정 했습니다.
해당 위치에 uploads폴더를 만들어 줘야 합니다.
코드 프로젝트 소스에서 파일 추가(+ 버튼)을 누르면 그전에 있던 파일명들이 사라지는
현상 때문에 그부분만 고쳐서 올렸습니다.
최대 5개까지 업로드 가능 입니다.
기본적인 옵션들은 수정 하셔서 쓰시면 될듯합니다. ^^
<?php
if($_POST[‘pgaction’]==”upload”)
upload();
else
uploadForm();
//The form having dynamic file uploader
function uploadForm() {
?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=euc-kr” />
<title> :: FILEUPLOAD :: </title>
</head>
<body bgcolor=”#C8C8C8″ leftmargin=”0″ topmargin=”0″ rightmargin=”0″ bottommargin=”0″>
<br>
<form name=”frm” method=”post” onsubmit=”return validate(this);” enctype=”multipart/form-data”>
<input type=”hidden” name=”pgaction”>
<?php if ($GLOBALS[‘msg’]) { echo ‘<center><span class=”err”>’.$GLOBALS[‘msg’].'</span></center>’; }?>
<input type=’button’ value=’추가’ onclick=’appendItem()’ />
<div id=’itemList’>
<input type=”file” name=”item_file[]”>
</div>
<input type=”submit” value=”Upload File”>
<div id=’debug’ style=”border:1px solid #000″></div>
</form>
<script type=’text/javascript’>
var count =0;
function appendItem()
{
count++;
if(count > 5)
{
alert(“더이상의 파일을 올릴수 없습니다.”);
count = 5;
}
else
{
//log(count);
var newSpanItem = document.createElement(“div”);
newSpanItem.setAttribute(“id”, “item_”+count);
var msg_str = ‘<input type=”file” name=”item_file[]”>’+ ‘<input type=”button” value =”삭제” onclick=”removeItem(‘+count+’)”> ‘;
//var msg_str =”ddd<br>”;
newSpanItem.innerHTML = msg_str;
var itemListNode = document.getElementById(‘itemList’);
itemListNode.appendChild(newSpanItem);
}
}
function removeItem(idCount)
{
var item = document.getElementById(“item_”+ idCount);
if(item != null)
{
item.parentNode.removeChild(item);
}
count –;
}
function validate(f)
{
var chkFlg = false;
for(var i=0; i < f.length; i++)
{
if(f.elements[i].type==”file” && f.elements[i].value != “”)
{
chkFlg = true;
}
}
if(!chkFlg)
{
alert(‘Please browse/choose at least one file’);
return false;
}
f.pgaction.value=’upload’;
return true;
}
</script>
</body>
</html>
<?php
}
//function to store uploaded file
function upload(){
if(count($_FILES[“item_file”][‘name’])>0)
{ //check if any file uploaded
$GLOBALS[‘msg’] = “”; //initiate the global message
for($j=0; $j < count($_FILES[“item_file”][‘name’]); $j++) { //loop the uploaded file array
$filen = $_FILES[“item_file”][‘name’][“$j”]; //file name
$path = ‘uploads/’.$filen; //generate the destination path
if(move_uploaded_file($_FILES[“item_file”][‘tmp_name’][“$j”],$path)) { //upload the file
$GLOBALS[‘msg’] .= “File# “.($j+1).” ($filen) uploaded successfully<br>”; //Success message
}
}
}
else
{
$GLOBALS[‘msg’] = “No files found to upload”; //Failed message
}
uploadForm(); //display the main form
}
?>