메뉴 건너뛰기

프로그램언어

2017.02.19 03:20

파일업로드

조회 수 19352 추천 수 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
번호 제목 날짜 조회 수
240 폴더에 사진올려놓고 리스트자동으로 만들기 2019.01.08 1302
239 PHP폼 사용시 폼 양식에서 값이 사라질때 2019.01.08 1316
238 애니메이션 gif 와 일반 gif 구분 하기 2019.01.16 1316
237 오늘 날짜 구하기 2019.01.08 1323
236 주간단위 시작일에서 종료일을 셀렉트박스로 만들기. file 2019.04.29 1337
235 utf-8 문자열을 주어진 바이트로 자르기 2019.04.29 1356
234 생성된 파일생성날짜 업데이트 만들기 / filemtime 2019.01.16 1373
233 TIME_TO_SEC 시간 포맷 2019.01.16 1381
232 디비내용을 엑셀 파일로 다운로드 시키는 방법 2019.01.08 1391
231 문자 숫자 중복 데이타 값 삭제 array_unique 함수 2019.01.16 1419
230 파일 종류에 따른 아이콘표시하기 함수 2019.01.16 1421
229 php/asp에서 가상번호 부여와 가상번호를 거꾸로 적용 2019.01.08 1429
228 RSS json_decone 사용방법 2019.01.16 1430
227 PHP 가변변수 $$ file 2019.02.19 1449
226 새창열 때 HTTP_REFERER 값넘기는 꽁수 2019.01.08 1453
225 PHP에서 UTF와 EUC-KR 변환 2019.02.19 1554
224 PHP $_SERVER 함수 2019.02.25 1558
223 내 계정 용량 체크 2019.01.08 1598
222 파일 및 데이타베이스 백업 2019.01.08 1610
221 JAVASCRIPT 차트, 그래프 모음 (php chart, graph ) 2021.03.26 1618
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved