PHP & Others

php파일 업로드 소스

페이지 정보

본문

[폼파일]
<?php
$dir = $_REQUEST[dir];
print<<<EOS
<form enctype="multipart/form-data" action="uploadok.php" method="post">
<input type="hidden" name="dir" value="$dir" />
 이 파일을 전송합니다: <p>
file1 <input name="userfile1" type="file" /><br>
file2 <input name="userfile2" type="file" /><br>
file3 <input name="userfile3" type="file" /><br>
file4 <input name="userfile4" type="file" /><br>
file5 <input name="userfile5" type="file" /><br>
file6 <input name="userfile6" type="file" /><br>
file7 <input name="userfile7" type="file" /><br>
file8 <input name="userfile8" type="file" /><br>
file9 <input name="userfile9" type="file" /><br>
file10 <input name="userfile10" type="file" /><p>
 <input type="submit" value="파일 전송" />
</form>
EOS;
?>

파일선택 폼 작성시 type은 file로 해야 합니다.

[로직파일]
<?php
$dir = $_REQUEST[dir];
$uploadfile1  = $conf['datapath'].$dir ."/". $_FILES[userfile1][name];
$uploadfile2  = $conf['datapath'].$dir ."/". $_FILES[userfile2][name];
$uploadfile3  = $conf['datapath'].$dir ."/". $_FILES[userfile3][name];
$uploadfile4  = $conf['datapath'].$dir ."/". $_FILES[userfile4][name];
$uploadfile5  = $conf['datapath'].$dir ."/". $_FILES[userfile5][name];
$uploadfile6  = $conf['datapath'].$dir ."/". $_FILES[userfile6][name];
$uploadfile7  = $conf['datapath'].$dir ."/". $_FILES[userfile7][name];
$uploadfile8  = $conf['datapath'].$dir ."/". $_FILES[userfile8][name];
$uploadfile9  = $conf['datapath'].$dir ."/". $_FILES[userfile9][name];
$uploadfile10 = $conf['datapath'].$dir ."/". $_FILES[userfile10][name];

for($i=1;$i<=10;$i++) { //다중 파일 처리를 위해 for 루프 작성
   $ext = substr(${"uploadfile".$i}, strrpos(${"uploadfile".$i}, '.') + 1); //확장자 추출
   if ($ext == "php" || $ext == "php3" || $ext == "php4" || $ext == "php5" || $ext == "kr") {
      print "<script>alert('업로드 불가 파일입니다.'); history.back();</script>";
      exit; //php 파일 업로드 제한
   } else {
      if ($_FILES["userfile".$i][tmp_name]) {
         move_uploaded_file($_FILES["userfile".$i][tmp_name], ${"uploadfile".$i});//업로드 임시파일을 원하는 위치로 이동. 이것이 곧 업로드의 핵심.
      }
   }
}
print "<script>location.href='list.php?dir=$dir';</script>";//업로드 후 원하는 페이지로 이동.
?>

관련자료

등록된 댓글이 없습니다.
Today's proverb
유쾌한 사람은 자기 일에만 몰두하는 사람이 아니다. 때론 자신의 일을 전부 제쳐놓고 타인의 문제에 전력을 쏟는 열정이 있는 사람이다. 타인에게 자신의 힘을 나누어주고 마음을 열어주는 것은 자신의 삶을 행복하게 만드는 방법이다.