[Normaltic's 취업반 과제] 게시판에 이미지 / 파일 등록하기
2024. 5. 7. 17:27ㆍ정보보안 및 해킹/Normaltic's 취업반 과제
write_board.php - 파일 올리는 버튼 추가 및 form태그에 enctype= "multipart/form/data" 추가. 이거 없으면 $_FILES 작동 안 한다. 이것 때문에 반나절 날림..
[생략]
<form action="" method="POST" enctype="multipart/form-data">
[생략]
<label for="reviewimage">관극 사진</label><br>
<input type="file" name="reviewimage"><br>
[생략]
<button class="submit-button" name="write" value="writereview" type="submit">등록하기</button>
<?php
if (isset($_POST['write'])) {
// echo "here";
write_watched_review($_POST['watcheddate'], $_POST['category'], $_POST['watchedname'], $_POST['watchedreview'], $_FILES['reviewimage']);
}
?>
[생략]
write_board_func.php - 클라이언트로부터 올릴 이미지 경로를 받아서 상대경로로 DB에 업로드. 서버에는 image라는 폴더 안에 클라이언트로부터 받은 이미지를 넣어두고 관리 하게 될 것. move_uploaded_file은 클라이언트로부터 올릴 파일을 전송받아 임시 파일을 만든 후 그 경로를 올림.
<?php
require_once('connect_db.php');
function write_watched_review($watched_date, $category, $name, $review, $review_image)
{
ini_set('display_errors',1);
$msg = "";
$table_name = "category_table";
$filename = $review_image["name"];
$tempname = $review_image["tmp_name"];
$folder = './image/' . basename($filename);
$sql_query = "INSERT INTO $table_name VALUES ('$watched_date', '$category', '$name', '$review', '$folder')";
echo $sql_query."<br>";
$sql_res = mysqli_query(connect_db(), $sql_query);
echo $tempname ."<br>";
echo $folder;
if (move_uploaded_file($tempname, $folder)) {
echo "<h3> Image uploaded successfully!</h3>";
} else {
// error_reporting(E_ALL);
// error_reporting(0);
echo "<h3> Failed to upload image!</h3>";
}
if ($sql_res) {
refresh_auto_indrement_num();
}
}
?>
get_category_list.php - 이름과 보았던 날짜만 띄웠던 관극 게시판에 사진도 함께 띄울 수 있도록 업데이트
[생략]
echo $sql_row['name'] . " " . $sql_row['watched_date'] . "<br>";
if($sql_row['review_image'])
{
echo "<img src=". $sql_row['review_image'] .">";
}
[생략]
'정보보안 및 해킹 > Normaltic's 취업반 과제' 카테고리의 다른 글
[Normaltic's 취업반 과제] 게시글 수정하기 (0) | 2024.05.12 |
---|---|
[Normaltic's 취업반 과제] jwt 로그인 유지 (0) | 2024.05.08 |
[Normaltic's 취업반 과제] 게시판에 글 등록하기 (2) | 2024.05.05 |
[Normaltic's 취업반 과제] jwt를 이용한 로그인 (0) | 2024.05.03 |
[Normaltic's 취업반 과제] jwt (1) | 2024.05.03 |