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>";//업로드 후 원하는 페이지로 이동.
?>

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
자신을 불행한 존재라고 생각하는 사람은 아직도 더 불행해질 여지가 남아있다. 아주 작은 일에도 큰 기쁨을 느끼는 사람에게는 그 어떤 불행도 위력을 상실해 버리고 만다. 그러나 아주 작은 일에도 기쁨을 느낄 수 있는 경지에 이르기까지는 어차피 여러 가지 형태의 불행을 감내하지 않을 수가 없다. 불행이란 알고 보면 행복이라는 이름의 나무 밑에 드리워진 행복만한 크기의 나무그늘 같은 것이다. (이외수 "흐린 세상 건너기" 中에서)