- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경 - DB 연결 하드코딩 → .env 기반으로 변경 - MySQL strict mode DATE 오류 수정
64 lines
1.9 KiB
PHP
64 lines
1.9 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="ko">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>파일 업로드</title>
|
|
</head>
|
|
<body>
|
|
<?php
|
|
|
|
require_once("../lib/mydb.php");
|
|
$pdo = db_connect();
|
|
|
|
/* if (mysqli_connect_errno($db_conn)){
|
|
|
|
echo "DB 연결 실패:" . mysqli_connect_error(); 연결실패문구와 실패원인
|
|
}else{
|
|
echo "DB 연결 성공 <br>" ;
|
|
} */
|
|
|
|
if(isset($_FILES['upfile']) && $_FILES['upfile']['name'] != "") {
|
|
$file = $_FILES['upfile'];
|
|
$upload_directory = 'data/';
|
|
$ext_str = "hwp,xls,doc,xlsx,docx,pdf,jpg,gif,png,txt,ppt,pptx";
|
|
$allowed_extensions = explode(',', $ext_str);
|
|
|
|
$max_file_size = 10542880;
|
|
$ext = substr($file['name'], strrpos($file['name'], '.') + 1);
|
|
|
|
// 확장자 체크
|
|
if(!in_array($ext, $allowed_extensions)) {
|
|
echo "업로드할 수 없는 확장자 입니다.";
|
|
}
|
|
|
|
// 파일 크기 체크
|
|
if($file['size'] >= $max_file_size) {
|
|
echo "10MB 까지만 업로드 가능합니다.";
|
|
}
|
|
|
|
$path = md5(microtime()) . '.' . $ext;
|
|
if(move_uploaded_file($file['tmp_name'], $upload_directory.$path)) {
|
|
$query = "INSERT INTO upload_file (file_id, name_orig, name_save, reg_time) VALUES(?,?,?,now())";
|
|
$file_id = md5(uniqid(rand(), true));
|
|
$name_orig = $file['name'];
|
|
$name_save = $path;
|
|
|
|
$stmt = mysqli_prepare($db_conn, $query);
|
|
$bind = mysqli_stmt_bind_param($stmt, "sss", $file_id, $name_orig, $name_save);
|
|
$exec = mysqli_stmt_execute($stmt);
|
|
|
|
mysqli_stmt_close($stmt);
|
|
|
|
echo"<h3>파일 업로드 성공</h3>";
|
|
echo '<a href="file_list.php">업로드 파일 목록</a>';
|
|
|
|
}
|
|
} else {
|
|
echo "<h3>파일이 업로드 되지 않았습니다.</h3>";
|
|
echo '<a href="javascript:history.go(-1);">이전 페이지</a>';
|
|
}
|
|
|
|
mysqli_close($db_conn);
|
|
?>
|
|
</body>
|
|
</html>
|