https://opentutorials.org/course/3130/19385
form๊ณผ post์ ๋ํด ๋ค๋ฃจ๋ ์์ ์ด๋ค.
<!--form.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="form.php">
<p><input type="text" name="title" placeholder="Title"></p>
<p><textarea name="description"></textarea></p>
<p><input type="submit"></p>
</form>
</body>
</html>
//form.php
<?php
echo $_GET['title']."<br>";
echo $_GET['description']."<br>";
?>
์ ์ฝ๋๋ฅผ ์คํํ๊ณ
์ด๋ ๊ฒ ์ ๋ ฅํ ๋ค ์ํฐ๋ฅผ ๋๋ฅด๋ฉด
์ถ๋ ฅํ๋ฉด์ ๋ณด์ ๋ฐ์ดํฐ๊ฐ ์ ์ ๋ฌ๋์์์ ์ ์ ์๋ค.
file_put_contentsํจ์
์ฌ์ฉ๋ฐฉ๋ฒ
file_put_contents("ํ์ผ ๊ฒฝ๋ก","๋ฃ์ ๋ด์ฉ");
์ฌ์ฉ์์
์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์ ๋ ฅํ๊ณ
<!--form.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="form.php" method="post">
<p><input type="text" name="title" placeholder="Title"></p>
<p><textarea name="description"></textarea></p>
<p><input type="submit"></p>
</form>
</body>
</html>
//form.html
<?php
file_put_contents('data/'.$_POST['title'], $_POST['description']);
echo "description : ".file_get_contents('data/'.$_POST['title']);
?>
์ด๋ ๊ฒ ์ ๋ ฅํ๋ฉด
์์ ๊ฐ์ ํ๋ฉด์ด ๋์ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ๊ณผ ๋ค๋ฅธ ์ ์ ๋งํฌ๊ฐ ๋ณํ์ง ์๋๊ฒ์ด๋ค. URLํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ urlํ๋ผ๋ฏธํฐ๋ฅผ ์ด์ฉํด ๊ฐ์ ๊ฐ์ ธ์๊ณ , ๋๋ฒ์งธ ๋ฐฉ๋ฒ์ file_put_contentsํจ์๋ฅผ ์ด์ฉํด์ ์ ๋ ฅ๋ฐ์ ๊ฐ์ ํ์ผ์ ์ ์ฅํ ๋ค ๊ทธ ๊ฐ์ file_put_contentsํจ์๋ก ๊ฐ์ ธ์จ ๊ฒ์ด๋ค.
PHP๋ก ๊ธ ์์ฑํ๊ธฐ
์ฝ๋๋ ์ด์ ๊ณผ ๋์ผํ๊ณ headerํจ์๊ฐ ์๋ก ๋ฑ์ฅํ๋ค.
headerํจ์
header("HTTP/1.0 404 Not Found");
header('Location: ํด๋น ์ฃผ์ ๋งํฌ');
//์ด์ ์ 3xx์ํ ์ฝ๋๋ฅผ ์ค์ ํ์ง ์์๋ค๋ฉด REDIRECT(302)์ํ ์ฝ๋๋ฅผ ๋ธ๋ผ์ฐ์ ์ ๋ฐํ
์ฒซ๋ฒ์งธ์ ๊ฐ์ด "HTTP/"๋ก ์์ํ๋ ๋ชจ๋ ํค๋๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ๋๋ฒ์งธ์ ๊ฐ์ด ์ง์ ์ฃผ์๋ฅผ ๋ฃ๊ธฐ๋ ํ๋ค.
์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๊ฒฝ์ฐ ์ฃผ๋ก ์ก์ ํ๋ HTTP status์ฝ๋๋ฅผ ํ์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
๋๋ฒ์งธ ๋ฐฉ๋ฒ์ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ฆฌ๋ค์ด๋ ํธํ๋ฉฐ ๋ธ๋ผ์ฐ์ ์๊ฒ REDIRECT (302)status๋ฅผ ๋ฆฌํดํ๋ค.
๊ฐ์์์๋ ๋๋ฒ์งธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
๋ฆฌ๋ค์ด๋ ํธ๋?
re(๋ค์) + ์ง์ํ๋ค(direct)
์๋ฅผ๋ค์ด ๋ธ๋ผ์ฐ์ ๊ฐ ์น์๋ฒ์ www.A๋ฅผ ์์ฒญํ์ ๋ ์๋ฒ๊ฐ HTTP์๋ต ๋ฉ์์ง๋ฅผ ํตํด www.B๋ก ์์ฒญํ๋ผ๊ณ ๋ค์ ์ง์ํ ์ ์๋ค. ์ด๋ฅผ ๋ฆฌ๋ค์ด๋ ํธ๋ผ๊ณ ํ๋ค.
์๋ฅผ ๋ค์ด ๋ก๊ทธ์ธ์ ํ์ง ์๊ณ ๊ฒฐ์ ๋ฅผ ํ๋ ค๊ณ ํ๋ฉด ์๋์ ๊ฐ์ ์ผ์ด ์ผ์ด๋๋ค.
๊ฒฐ์ ์๋ -> ์๋ฒ๊ฐ ๋ก๊ทธ์ธํ์ง ์์์ ํ์ธ ->๋ก๊ทธ์ธ์ฐฝ์ผ๋ก ๋๋ ค๋ณด๋(๋ฆฌ๋ค์ด๋ ํธ) -> ๋ก๊ทธ์ธ์๋ฃ ->๊ฒฐ์
๊ฒฐ๊ณผ ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
<?php
function print_title(){
if(isset($_GET['id'])){
echo $_GET['id'];
} else {
echo "Welcome";
}
}
function print_description(){
if(isset($_GET['id'])){
echo file_get_contents("data/".$_GET['id']);
} else {
echo "Hello, PHP";
}
}
function print_list(){
$list = scandir('./data');
$i = 0;
while($i < count($list)){
if($list[$i] != '.') {
if($list[$i] != '..') {
echo "<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n";
}
}
$i = $i + 1;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
<?php
print_title();
?>
</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?php
print_list();
?>
</ol>
<a href="create.php">Create</a>
<form action="create_process.php" method="post">
<p>
<input type="text" name="title" placeholder="Title">
</p>
<p>
<textarea name="description" placeholder="Description"></textarea>
</p>
<p>
<input type="submit">
</p>
</form>
<?php
print_description(); //์ค๋ช
์ ์ถ๋ ฅํ๋ ํจ์
?>
</body>
</html>
<?php
file_put_contents("data/".$_POST['title'],$_POST['description']);
header("Location: /index.php?id=".$_POST['title']); //์ฌ์ฉ์๋ฅผ ํด๋น ๋งํฌ๋ก ์ด๋ํ๋๋ก ํจ
?>
์ด๋ ๊ฒ ์ ๋ ฅํ๊ณ ๊ฒฐ๊ณผ์ฐฝ์ ๋ณด๋ฉด
์ ์ถ๋ฒํผ์ ๋๋ฅด๋ฉด
์ด๋ ๊ฒ ๋ชฉ๋ก 11๋ฒ์ try3๊ฐ ์๊ธฐ๊ณ (ํ์ผ์ด ์ ๋๋ก ์์ฑ๋์์์ ํ์ธ ๊ฐ๋ฅ) ์ ์ถ๋ฒํผ ์๋์ try3์ description์ด ์ ์ถ๋ ฅ ๋์๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ๋งํฌ๋ฅผ ๋ณด๋ฉด id=try3์ธ๊ณณ์ผ๋ก ์ ์ด๋๋์์์ ์ ์ ์๋ค.(headerํจ์๊ฐ ์ ์์ ์ผ๋ก ๋์ํจ)
PHP๋ก ๊ธ ์์ ํ๊ธฐ
์ฐ์ create๋ฐ์ ์์์ ์ ์ถ๋ฒํผ์ ์ง์ฐ๊ณ , create์์ ์ ์ถ๋ฒํผ์ ๋ง๋ค ๊ฒ์ด๋ค. ๋ WEB์ ๋๋ ์ ๋๋ ๊ธฐ๋ณธ ํ์ด์ง๋๊น update๋ฒํผ์ด ๋ณด์ด์ง ์๋๋ก ํ ๊ฒ์ด๋ค. ์ฝ๋๋ก ๊ตฌํํ๋ฉด ์๋์ ๊ฐ๋ค.
<?php
function print_title(){
if(isset($_GET['id'])){
echo $_GET['id'];
} else {
echo "Welcome";
}
}
function print_description(){
if(isset($_GET['id'])){
echo file_get_contents("data/".$_GET['id']);
} else {
echo "Hello, PHP";
}
}
function print_list(){
$list = scandir('./data');
$i = 0;
while($i < count($list)){
if($list[$i] != '.') {
if($list[$i] != '..') {
echo "<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n";
}
}
$i = $i + 1;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
<?php
print_title();
?>
</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?php
print_list();
?>
</ol>
<a href="create.php">Create</a>
<?php if(isset($_GET['id'])){ ?>
<a href="update.php">Update</a> <!--update๋งํฌ ์์ฑ ์ํ ๋ถ๋ถ-->
<?php } ?>
<h2>
<?php
print_description(); //์ค๋ช
์ ์ถ๋ ฅํ๋ ํจ์
?>
</h2>
</body>
</html>
์ด์ ์์ ๊ธฐ๋ฅ์ ๊ตฌํํด ๋ณด๋๋ก ํ์. ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
<!--index.php-->
<?php
function print_title(){
if(isset($_GET['id'])){
echo $_GET['id'];
} else {
echo "Welcome";
}
}
function print_description(){
if(isset($_GET['id'])){
echo file_get_contents("data/".$_GET['id']);
} else {
echo "Hello, PHP";
}
}
function print_list(){
$list = scandir('./data');
$i = 0;
while($i < count($list)){
if($list[$i] != '.') {
if($list[$i] != '..') {
echo "<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n";
}
}
$i = $i + 1;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
<?php
print_title();
?>
</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?php
print_list();
?>
</ol>
<a href="create.php">Create</a>
<?php if(isset($_GET['id'])){ ?>
<a href="update.php?id=<?php echo $_GET['id']; ?>">Update</a> <!--update๋งํฌ ์์ฑ ์ํ ๋ถ๋ถ-->
<!-- <a href="update.php?id=<?=$_GET['id']?>">Update</a> ๊ฐ์ ์ฝ๋-->
<?php } ?>
<h2>
<?php
print_description(); //์ค๋ช
์ ์ถ๋ ฅํ๋ ํจ์
?>
</h2>
</body>
</html>
<!--create.php-->
<?php
function print_title(){
if(isset($_GET['id'])){
echo $_GET['id'];
} else {
echo "Welcome";
}
}
function print_description(){
if(isset($_GET['id'])){
echo file_get_contents("data/".$_GET['id']);
} else {
echo "Hello, PHP";
}
}
function print_list(){
$list = scandir('./data');
$i = 0;
while($i < count($list)){
if($list[$i] != '.') {
if($list[$i] != '..') {
echo "<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n";
}
}
$i = $i + 1;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
<?php
print_title();
?>
</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?php
print_list();
?>
</ol>
<a href="create.php">Create</a>
<form action="create_process.php" method="post">
<p>
<input type="text" name="title" placeholder="Title">
</p>
<p>
<textarea name="description" placeholder="Description"></textarea>
</p>
<p>
<input type="submit">
</p>
</form>
</body>
</html>
//create_process.php
<?php
file_put_contents("data/".$_POST['title'],$_POST['description']);
header("Location: /index.php?id=".$_POST['title']); //์ฌ์ฉ์๋ฅผ ํด๋น ๋งํฌ๋ก ์ด๋ํ๋๋ก ํจ
?>
<!--update.php-->
<?php
function print_title(){
if(isset($_GET['id'])){
echo $_GET['id'];
} else {
echo "Welcome";
}
}
function print_description(){
if(isset($_GET['id'])){
echo file_get_contents("data/".$_GET['id']);
} else {
echo "Hello, PHP";
}
}
function print_list(){
$list = scandir('./data');
$i = 0;
while($i < count($list)){
if($list[$i] != '.') {
if($list[$i] != '..') {
echo "<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n";
}
}
$i = $i + 1;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
<?php
print_title();
?>
</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?php
print_list();
?>
</ol>
<a href="create.php">Create</a>
<?php if(isset($_GET['id'])){ ?>
<a href="update.php?id=<?php echo $_GET['id']; ?>">Update</a> <!--update๋งํฌ ์์ฑ ์ํ ๋ถ๋ถ-->
<!-- <a href="update.php?id=<?=$_GET['id']?>">Update</a> ๊ฐ์ ์ฝ๋-->
<?php } ?>
<h2>
<?php
print_description(); //์ค๋ช
์ ์ถ๋ ฅํ๋ ํจ์
?>
<form action="update_process.php" method="post">
<input type="hidden" name="old_title" value="<?=$_GET['id'] ?>">
<p>
<input type="text" name="title" placeholder="Title" value="<?php print_title(); ?>">
</p>
<p>
<textarea name="description" placeholder="Description"><?php print_description(); ?></textarea>
</p>
<p>
<input type="submit">
</p>
</form>
</h2>
</body>
</html>
//update_process.php
<?php
rename('data/'.$_POST['old_title'], 'data/'.$_POST['title']);
file_put_contents('data/'.$_POST['title'],$_POST['description']);
?>
PHP๋ก ๊ธ ์ญ์ ํ๊ธฐ
index.php๋ฅผ ์๋์ ๊ฐ์ด ์์ ํ๊ณ delete_process.php๋ฅผ ์์ฑํ๋ค.
<!--index.php-->
<?php
function print_title(){
if(isset($_GET['id'])){
echo $_GET['id'];
} else {
echo "Welcome";
}
}
function print_description(){
if(isset($_GET['id'])){
echo file_get_contents("data/".$_GET['id']);
} else {
echo "Hello, PHP";
}
}
function print_list(){
$list = scandir('./data');
$i = 0;
while($i < count($list)){
if($list[$i] != '.') {
if($list[$i] != '..') {
echo "<li><a href=\"index.php?id=$list[$i]\">$list[$i]</a></li>\n";
}
}
$i = $i + 1;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
<?php
print_title();
?>
</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?php
print_list();
?>
</ol>
<a href="create.php">Create</a>
<?php if(isset($_GET['id'])){ ?>
<a href="update.php?id=<?php echo $_GET['id']; ?>">Update</a> <!--update๋งํฌ ์์ฑ ์ํ ๋ถ๋ถ-->
<!-- <a href="update.php?id=<?=$_GET['id']?>">Update</a> ๊ฐ์ ์ฝ๋-->
<a href="delete_process.php?id=<?=$_GET['id']?>">delete</a>
<?php } ?>
<h2>
<?php
print_description(); //์ค๋ช
์ ์ถ๋ ฅํ๋ ํจ์
?>
</h2>
</body>
</html>
//delete_process.php
<?php
unlink('data/'.$_GET['id']);
header('Location: /index.php'); //์ญ์ ํ ํํ๋ฉด์ผ๋ก ์ด๋
?>
ํ ์คํธ๋ฅผ ํด๋ณด์.
'WEB > Server' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
AWS EC2๋ก ์๋ฒ ๊ตฌ์ถํ๊ธฐ - 2 [Jupyter Notebook์ค์น ๋ฐ ์ฐ๊ฒฐ] (6) | 2021.01.15 |
---|---|
AWS EC2๋ก ์๋ฒ ๊ตฌ์ถํ๊ธฐ - 1 [ํ์๊ฐ์ + ๋ช ๋ นํ๋กฌํํธ๋ก ์๋ฒ์ ์] (0) | 2021.01.15 |
PHP ๋ด์ฉ์ ๋ฆฌ - 3 (0) | 2021.01.14 |
PHP ๋ด์ฉ์ ๋ฆฌ - 2 (0) | 2021.01.14 |
PHP ๋ด์ฉ์ ๋ฆฌ - 1 (0) | 2021.01.14 |
๋๊ธ