MySQL 테이블이 존재하는지 확인하는 PHP 소스코드 예제




$result_exist = mysql_query("SHOW TABLES LIKE '테이블명'");

$row_exist = mysql_fetch_array($result_exist); 

if($row_exist == true){

// 테이블 존재

} else { 

// 테이블 없음

}







PHP에서 회원 로그인 기능을 구현할 때 비밀번호 암호화 처리 과정을 살펴봅니다.

bcrypt를 이용하여 비밀번호를 암호화합니다. PHP 5.3.7 버전 이상에서 사용할 수 있습니다. PHP 5.5 버전 이상에서는 내장함수로 포함하고 있습니다. 추천하는 암호화 기법입니다.



1. 비밀번호를 암호화 하여 회원 DB Table에 기록하는 방법입니다.


<?

$id = "test";

$password = "1234567";  // 회원 가입시 입력받은 회원 비밀번호 


include "./password.php"; // 본 글 아래 첨부파일을 다운 받아 사용하세요. 

$hash = password_hash($password, PASSWORD_DEFAULT);  // 비밀번호 암호화 


// 회원가입시에는 비밀번호를 위의 암호화 과정을 거쳐 $hash 변수 값을 회원 DB Table에 저장합니다. 

$sql = "INSERT INTO member (num,id,password) VALUES ('$num', '$id', '$hash')"; 

if ($conn->query($sql) == TRUE) {

    echo "success";

} else {

    echo "Error";

}

$conn->close(); 

?>



2. 회원 로그인시 비밀번호를 비교하여 일치하면 로그인 세션을 생성합니다.


<?

$password = "1234567"; // 회원 로그인시 입력받은 비밀번호


// 회원 DB에서 회원 정보를 가져옵니다.

$result = mysql_query("SELECT * FROM  member WHERE id = '$id' LIMIT 1"); 

$array = mysql_fetch_array($result);

$hash_password  = $array['password'];


include "./password.php"; // 본 글 아래 첨부파일을 다운 받아 사용하세요. 

if (password_verify($password, $hash_password)) { // 비밀번호가 일치하는지 비교합니다. 

echo "비밀번호 일치 !!!";  // 비밀번호가 일치할 경우 로그인 세션을 생성합니다.

} else { 

echo "비밀번호 불일치 !!!";

}

?>



* 비밀번호 암호화 방법 중 오래전 부터 사용하던 md5() 암호화는 보안에 취약하기 때문에 사용하지 마세요.


password.php 파일을 아래 첨부합니다. 다운받아서 사용하시면 됩니다.


password.zip






PHP에서 MySQL DB에 연결하는 기본 소스코드입니다.


<?PHP

$host = "localhost";          // MySQL DB서버 host

$user = "id";                  // MySQL DB서버 접속 id

$password = "password";  // MySQL DB서버 접속 password

$dbname = "dbname";       // MySQL DB명


$dbconn = mysql_connect("$host","$user","$password");

$status = mysql_select_db("$dbname",$dbconn);

if(!$status) {                      

   echo("DB 연결 실패");

   exit;

}

?>




PHP 파일업로드 기능 기본 소스 코드 및 변수 예제입니다.

홈페이지 제작시 수정하여 사용하시면 됩니다.


특징: 

1. 업로드 되는 파일명을 자동 변경하여 한글파일명, 특수기호가 들어간 파일명 등을 DB에 저장 또는 파일 다운로드 구현시 오류가 나지 않도록 해줍니다.

2. 업로드 전의 실제 파일명을 별도 변수에 담아 DB에 저장할 수 있어 파일 다운로드 구현시 실제 파일명으로 다운로드 받을 수 있습니다.

3. 파일 확장자를 체크하여 특정 파일의 업로드 금지를 지정할 수 있습니다.



파일업로드 HTML 코드


예제 파일명: file_upload.html (파일첨부를 할 수 있는 웹페이지입니다.)

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

</head>

<body>

<form method="post" enctype="multipart/form-data" action="./upload.php">

<input type="file" name="upload_file"> 

<input type="submit" value="업로드">

</form>

</body>

</html>


예제 파일명: upload.php (첨부된 파일을 파일 변수에 지정하고 서버로 업로드합니다.)

<?

$file_name = $_FILES['upload_file']['name'];                // 업로드한 파일명

$file_tmp_name = $_FILES['upload_file']['tmp_name'];   // 임시 디렉토리에 저장된 파일명

$file_size = $_FILES['upload_file']['size'];                 // 업로드한 파일의 크기

$mimeType = $_FILES['upload_file']['type'];                 // 업로드한 파일의 MIME Type


// 첨부 파일이 저장될 서버 디렉토리 지정(원하는 경로에 맞게 수정하세요)

$save_dir = './upload/file/';


// 업로드 파일 확장자 검사 (필요시 확장자 추가)

   if($mimeType=="html" || 

   $mimeType=="htm" || 

   $mimeType=="php" || 

   $mimeType=="php3" || 

   $mimeType=="inc" || 

   $mimeType=="pl" || 

   $mimeType=="cgi" || 

   $mimeType=="txt" || 

   $mimeType=="TXT" || 

   $mimeType=="asp" || 

   $mimeType=="jsp" || 

   $mimeType=="phtml" || 

   $mimeType=="js" || 

   $mimeType=="") { 

echo("<script> 

alert('업로드를 할 수 없는 파일형식입니다.'); 

document.location.href = './file_upload.html';    

</script>"); 

exit;

   } 

   

   // 파일명 변경 (업로드되는 파일명을 별도로 생성하고 원래 파일명을 별도의 변수에 지정하여 DB에 기록할 수 있습니다.)

$real_name = $file_name;     // 원래 파일명(업로드 하기 전 실제 파일명) 

$arr = explode(".", $real_name); // 원래 파일의 확장자명을 가져와서 그대로 적용 $file_exe

$arr1 = $arr[0];

$arr2 = $arr[1];

$arr3 = $arr[2];

$arr4 = $arr[3];

if($arr4) { 

$file_exe = $arr4;

} else if($arr3 && !$arr4) { 

$file_exe = $arr3;

} else if($arr2 && !$arr3) { 

$file_exe = $arr2;

}

$file_time = time(); 

$file_Name = "file_".$file_time.".".$file_exe; // 실제 업로드 될 파일명 생성 (본인이 원하는 파일명 지정 가능)  

$change_file_name = $file_Name;  // 변경된 파일명을 변수에 지정 

$real_name = addslashes($real_name); // 업로드 되는 원래 파일명(업로드 하기 전 실제 파일명

$real_size = $file_size;                         // 업로드 되는 파일 크기 (byte)


 

//파일을 저장할 디렉토리 및 파일명 전체 경로

   $dest_url = $save_dir . $change_file_name;

 

//파일을 지정한 디렉토리에 업로드

   if(!move_uploaded_file($file_tmp_name, $dest_url))

   {

      die("파일을 지정한 디렉토리에 업로드하는데 실패했습니다.");

   }



// DB에 기록할 파일 변수 (DB에 저장이 필요한 경우 아래 변수명을 기록하시면 됩니다.)

/*

$change_file_name : 실제 서버에 업로드 된 파일명. 예: file_145736478766.gif

$real_name : 원래 파일명. 예: 풍경사진.gif 

$real_size : 파일 크기(byte)

*/

?>


PHP 파일업로드 기능의 가장 기본적인 소스 코드입니다.

홈페이지 제작시 적절히 수정하여 사용하시면 됩니다.







'프로그래밍 > PHP' 카테고리의 다른 글

PHP cURL POST 전송 사용법 예제  (0) 2020.11.26
[PHP] 로그인 비밀번호 암호화 처리  (8) 2016.01.11

+ Recent posts