그누보드 파일 업로드 소스

나의 재물운? 연애운은?

AI가 봐주는 내 사주팔자 - 운세박사

https://aifortunedoctor.com/

그누보드 파일 업로드 소스

김지훈 0 2,277 2022.07.23 14:58

우선 파일이 두개 있어야 겠내요 

파일을 받아야 하는 화면과 저장하는 화면.. 


-----------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); 

?> 


Comments

나의 재물운? 연애운은?

AI가 봐주는 내 사주팔자 - 운세박사

https://aifortunedoctor.com/

Category
Magazine
훈남/훈녀
 
 
 
상점
Facebook Twitter GooglePlus KakaoStory NaverBand