메뉴 건너뛰기

프로그램언어

2017.02.19 03:20

파일업로드

조회 수 19787 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

우선 파일이 두개 있어야 겠내요
파일을 받아야 하는 화면과 저장하는 화면..

-----------input.php--------------------------------------------------------
<form name='file_upload' method="post" enctype="multipart/form-data" action='out.php'>
<input type='file' name='file_up' size='12'>   
<INPUT TYPE="checkbox" NAME="del_ok" value="1">삭제 할경우 체크
<BR>
<input type="submit" name="sand" value="입 력">
</form>
-----------------------------------------------------------------------------

위에거 중요한거 집고 넘어가자면..
<form  --- 내용중에 method="post" enctype="multipart/form-data" 이게 중요한듯해요..
뭐 다 중요하지만 간혹 이거없이도 쓰이는 폼이 있는듯하여..
전 enctype="multipart/form-data" 이거 안넣어서 반나절 고생한... ㅋ

파일 받을 이름은 file_up로 했어요..
이정도만 되면 첫 페이지는 대충 된듯 하고요~

-------------------'out.php' 1차--------------------------------------------------
echo "업로드한 파일명 : ".$_FILES["file_up"]["name"] ."<br />";
echo "업로드한 파일의 크기 : ".$_FILES["file_up"]["size"] ."<br />";
echo "업로드한 파일의 MIME Type : ".$_FILES["file_up"]["type"] ."<br />";
echo "임시 디렉토리에 저장된 파일명 : ".$_FILES["file_up"]["tmp_name"]."<br />";
---------------------------------------------------------------------------------

위에거 파일 만들고 실행해 보세요.. 그럼 이게 뭐에 쓰는건지 아실거에요.. 아시겠죠...ㅋ
이거 모른다 하면 답 안나옴..ㅋ

--팁? 이렇게 쓰셔도 되요.. 아래에서는 이걸로 사용할께요---------------------------
echo "업로드한 파일명 : ".$file_up_name."<br />";
echo "업로드한 파일의 크기 : ".$file_up_size."<br />";
echo "업로드한 파일의 MIME Type : ".$file_up_type."<br />";
echo "임시 디렉토리에 저장된 파일명 : ".$file_up"<br />";
-------------------------------------------------------------------------------

이건뭐 간단히 써볼라 했는데 엄청 복잡해지내요..
이제 중요한 move_uploaded_file 함수를 알아 보자구요.
저두 솔직히 잘 모르고.. 함수 이름대로 파일을 move시키는듯 합니다.

move_uploaded_file(임시 디렉토리에 저장된 파일명,저장될 디렉토리및 파일명)
쉽져.. 그럼 우리가 하게될 식은

move_uploaded_file($file_up,$file_up_name);

-------------------'out.php' 2차--------------------------------------------------
echo "업로드한 파일명 : ".$_FILES["file_up"]["name"] ."<br />";
echo "업로드한 파일의 크기 : ".$_FILES["file_up"]["size"] ."<br />";
echo "업로드한 파일의 MIME Type : ".$_FILES["file_up"]["type"] ."<br />";
echo "임시 디렉토리에 저장된 파일명 : ".$_FILES["file_up"]["tmp_name"]."<br />";

move_uploaded_file($file_up,$file_up_name);
---------------------------------------------------------------------------------

짠.. 이렇게 하고 실행하면.. out.php 파일이 있는곳에 업로드한 파일이 생겨요...
그런데... 안되는분 분명히 있을듯.. 왜? 왜 안될까요..

out.php 파일이 있는 폴더 권한문제일겁니다. 777? 로 변경후 사용해보세요~ 그럼 됨니다.
퍼미션 관련글은 생략할께요.. 넘 복잡해져요..

자 그럼 여기까지 됐음 끝?

뭐 대충 끝난듯 하내요~


아래는 제가 쓰는 소스입니다. 너무나 허접하지만 보시고 아~ 이렇게 사용하면 되는구나 생각하심 될듯.


<?

$query="select * from $db_table where aa ='$aa'";
$result=mysql_query($query,$connect);
$data=mysql_fetch_array($result);

//파일삭제에 체크가 되어있다면...
if($del_ok == 1) {
@unlink($data[name]);
$rmdir_dir = explode("/",$data[name]);
$dirname= ($rmdir_dir[0]."/".$rmdir_dir[1]);
rmdir($dirname);
}

//파일삭제에 체크가 되어 있지 않을때
if(!$del_ok == 1) {

//DB 데이터가 없고 파일값도 없을때
if(!$data[name] and !$im_name) { $im_name_in = $data[name]; }
 
//DB 데이터가 없고 파일값이 들어왔을때
if(!$data[name] and $im_name ) {

//저장될 디렉토리
$base_dir = "img_data";

//확장자 검렬
if(!eregi("\.jpg$|\.gif$|\.bmp$",$name_name)) { Error("업로드를 할수 없는 파일 입니다.\\n\\r확장자가 jpg,gif,bmp인경우만 업로드가 가능합니다."); exit; }

//폴더 이름을 유일한값으로 만듬
$dir = time().(double)microtime();

//폴더 생성
mkdir("$base_dir/$dir",0777);

//tmp에 저장된 파일 지정한디렉토리로 이동
move_uploaded_file($name,"$base_dir/$dir/$name_name");

//DB에 입력할 이름
$im_name_in = "$base_dir/$dir/$name_name";


}


//DB 데이터가 있고 파일값이 없을때
if($data[name] and !$im_name) { $im_name_in = $data[name]; }

//DB 데이터가 있고 새파일이 들어왔을때
if($data[name] and $im_name) {

//저장될 디렉토리
$base_dir = "img_data";

//확장자 검렬
if(!eregi("\.jpg$|\.gif$|\.bmp$",$name_name)) { Error("업로드를 할수 없는 파일 입니다.\\n\\r확장자가 jpg,gif,bmp인경우만 업로드가 가능합니다."); exit; }

//폴더 이름을 유일한값으로 만듬
$dir = time().(double)microtime();

//폴더 생성
mkdir("$base_dir/$dir",0777);

//tmp에 저장된 파일 지정한디렉토리로 이동
move_uploaded_file($name,"$base_dir/$dir/$name_name");

//DB에 입력할 이름
$im_name_in = "$base_dir/$dir/$name_name";

//기존 자료 삭제
@unlink($data[im_name]);
$rmdir_dir = explode("/",$data[im_name]);
$dirname= ($rmdir_dir[0]."/".$rmdir_dir[1]);
@rmdir($dirname);

clearstatcache();
}

}

mysql_query("update $db_table set
name='$im_name_in',
where
no ='$no'
",$connect);
?>


  1. php 문자열관련 함수

    Date2017.03.06 Views15680
    Read More
  2. php로 db 컨트롤 1

    Date2017.03.06 Views15868
    Read More
  3. PHP에서 Excel 파일을 만들 수 있는 PHPExcel

    Date2017.03.06 Views17194
    Read More
  4. PHP의 유동변수!? - $a1 ~ $a2 같은 형식의 변수를 반복문 돌릴때...

    Date2017.03.06 Views16717
    Read More
  5. PHP EXCEL export시 시트 이름 지정하여 여러 시트에 데이터 쓰기

    Date2017.03.06 Views18395
    Read More
  6. PHP 만년달력 소스

    Date2017.03.06 Views17148
    Read More
  7. text파일에 한줄씩 내용추가하기

    Date2017.03.06 Views17895
    Read More
  8. 지엠 웹에디터 v1.1 (저작권표시없음)|

    Date2017.03.06 Views17198
    Read More
  9. Ajax로 구연한 실시간 서버시간출력

    Date2017.03.06 Views21134
    Read More
  10. ajax refresh 시키기(자동리플래쉬) with php

    Date2017.03.06 Views23278
    Read More
  11. 오류 메시지 출력(alert) 및 페이지 이동(refresh) 관련

    Date2017.03.06 Views18665
    Read More
  12. 메일주소의 골뱅이를 그림처리하기

    Date2017.03.06 Views15585
    Read More
  13. PHP로 엑셀 자료 MySQL에 넣기

    Date2017.03.06 Views18405
    Read More
  14. CodeIgniter에서 PHPExcel 사용하기

    Date2017.03.06 Views20385
    Read More
  15. PHPExcel 클래스를 이용해 Excel 2007~2010 의 xlsx 파일 읽기 (100만 행 까지)

    Date2017.03.06 Views21798
    Read More
  16. phpexcel을 이용한 PHP로 엑셀파일 읽기와 생성

    Date2017.03.06 Views22859
    Read More
  17. 파일업로드

    Date2017.02.19 Views19787
    Read More
  18. PHP에서 데이터를 엑셀(Excel)로 저장

    Date2017.02.19 Views18541
    Read More
  19. [PHP] 게시판 글쓰기와 이미지 파일 DB 저장 및 불러오기 예제

    Date2017.02.19 Views36004
    Read More
  20. array_slice 배열의 일부를 추출

    Date2016.12.23 Views20857
    Read More
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved