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
"우리가 저지르는 가장 나쁜 잘못은 남의 잘못에 대해 선입견을 갖는 것이다." (칼릴 지브란)