메뉴 건너뛰기

프로그램언어

2017.02.19 03:20

파일업로드

조회 수 19780 추천 수 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);
?>


List of Articles
번호 제목 날짜 조회 수
220 array_slice 배열의 일부를 추출 2016.12.23 20848
219 [PHP] 게시판 글쓰기와 이미지 파일 DB 저장 및 불러오기 예제 2017.02.19 35996
218 PHP에서 데이터를 엑셀(Excel)로 저장 2017.02.19 18534
» 파일업로드 2017.02.19 19780
216 phpexcel을 이용한 PHP로 엑셀파일 읽기와 생성 file 2017.03.06 22853
215 PHPExcel 클래스를 이용해 Excel 2007~2010 의 xlsx 파일 읽기 (100만 행 까지) 2017.03.06 21788
214 CodeIgniter에서 PHPExcel 사용하기 file 2017.03.06 20376
213 PHP로 엑셀 자료 MySQL에 넣기 2017.03.06 18394
212 메일주소의 골뱅이를 그림처리하기 2017.03.06 15580
211 오류 메시지 출력(alert) 및 페이지 이동(refresh) 관련 2017.03.06 18658
210 ajax refresh 시키기(자동리플래쉬) with php file 2017.03.06 23273
209 Ajax로 구연한 실시간 서버시간출력 file 2017.03.06 21128
208 지엠 웹에디터 v1.1 (저작권표시없음)| file 2017.03.06 17195
207 text파일에 한줄씩 내용추가하기 2017.03.06 17886
206 PHP 만년달력 소스 2017.03.06 17137
205 PHP EXCEL export시 시트 이름 지정하여 여러 시트에 데이터 쓰기 2017.03.06 18377
204 PHP의 유동변수!? - $a1 ~ $a2 같은 형식의 변수를 반복문 돌릴때... 2017.03.06 16710
203 PHP에서 Excel 파일을 만들 수 있는 PHPExcel file 2017.03.06 17188
202 php로 db 컨트롤 1 2017.03.06 15859
201 php 문자열관련 함수 2017.03.06 15671
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved