์ด๋ก ์์๋ MySQL monitor์ ํตํด DataBase๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์๋ค.
์ฌ๊ธฐ์๋ mysqli๋ฅผ ํตํด php์ฝ๋๋ฅผ ์ฌ์ฉํด์ DataBase๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์.
์ฌ๊ธฐ์ ๋น๋ฐ๋ฒํธ๋ 111111, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ์ opentutorials, ํ ์ด๋ธ ์ด๋ฆ์ topic์ผ๋ก ํ๋ค.
MySQL monitor | mysqli | |
์๋ฒ ์ ์ | my sql -hlocalhost -uroot -p111111; | $conn = mysqli_connect('localhost'.'root','111111'); |
DB ์ ํ | use opentutorials; | mysqli_select_db($conn 'opentutorials'); |
์กฐํ | SELECT * FROM topic; | $result = mysqli_query($conn, 'SELECT*FROM topic); |
์ถ๋ ฅ | ![]() |
$row = mysqli_fetch_assoc($result); $row[`title`]; $row[`description`]; |
php์๋ ๋ค์ํ ๋ฐฐ์ด์ด ์กด์ฌํ๋ค.
$a = array("About JavaScript","JavaScript is...");
echo $a[0]
→ About JavaScript
์ ๋ก์ง์ ์ผ๋ฐ์ ์ธ ๋ฐฐ์ด์ด๋ค.
์ธ๋ฑ์ค๋ฅผ ํตํด์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
$b = array"title"=>"About JavaScript","description"=>"JavaScript is...");
echo $b["title"];
→ About JavaScript
๋ํ ์ด๋ ๊ฒ key์ value๋ฅผ ๋๋์ด key๋ฅผ ํธ์ถํ๋ฉด value๊ฐ ์ถ๋ ฅ๋๋ ๋ฐฐ์ด๋ ์๋ค.
์ด๋ฌํ ๋ฐฐ์ด์ ์ฐ๊ด ๋ฐฐ์ด( associative array )๋ผ๊ณ ํ๋ค.
mysqli์ ์ถ๋ ฅ๋ฌธ์ ํ์ธํ๋ฉด mysqli_fetch_assoc($result);๋ผ๊ณ ๋์ด์๋ค.
์ด ๋ง์ $result๋ฅผ ์ฐ๊ด ๋ฐฐ์ด์ ํํ๋ก ๊ฐ์ ธ์จ๋ค๋ ์๋ฏธ๊ฐ ๋๋ค.
ํ์ง๋ง row๋ฅผ ์ถ๋ ฅํ๋ฉด 1ํ๋ง ์ถ๋ ฅ์ด ๋๊ณ , ๋๋จธ์ง ํ๋ค์ ์ถ๋ ฅ์ด ๋์ง ์๋๋ค.
ํ์ง๋ง, row๋ณ์์ ํ ๋ฒ ๋ $result๊ฐ์ ์ฐ๊ด ๋ฐฐ์ด๋ก ๋ด๊ฒ ๋๋ฉด, ์ด๋ฒ์๋ 2ํ์ด ์ถ๋ ฅ์ด ๋๋ ๊ฑธ ํ์ธํ ์ ์๋ค.
$conn = mysqli_connect('localhost','root','momo0415');
mysqli_select_db($conn, 'opentutorials');
$result = mysqli_query($conn, "SELECT*FROM topic");
$row = mysqli_fetch_assoc($result);
echo $row['id'];
echo $row['title'];
echo "<br />";
$row = mysqli_fetch_assoc($result);
echo $row['id'];
echo $row['title'];
๊ทธ๋ ๋ค๋ฉด, ์ด๋ ๊ฒ 4๋ฒ ๋ณต์ฌ ๋ถ์ฌ ๋ฃ๊ธฐ๋ฅผ ํ๋ฉด, ๋ชจ๋ ํ์ด ๋ค ์ถ๋ ฅ๋์ด ํ ์ด๋ธ์ ํ์ธํ ์ ์๋ค.
ํ์ง๋ง, ๋ง์ฝ ํ์ด 100๊ฐ 1000๊ฐ๋ผ๋ฉด, ๋ณต๋ถ ํ๊ณ ์์ ํ๋ ๊ณผ์ ์ด ๋งค์ฐ ํ๋ค์ด์ง๋ค.
๊ทธ๋ ๊ธฐ์, ๋ชจ๋ ํ ์ด๋ธ์ ํ์ธํด์ผํํ ๋๋ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด์ฃผ๋ ์ณ๋ค.
while($row = mysqli_fetch_assoc($result)){
echo $row['id'];
echo $row['title'];
echo "<br />";
์ด๋ ๊ฒ while๋ฌธ์ ์ฌ์ฉํด ์ถ๋ ฅ์ ํ๋ฉด ๋ชจ๋ ํ์ด ์ถ๋ ฅ๋๋ ๊ฑธ ํ์ธํ ์ ์๋ค.
๊ทธ๋ผ ์๋กญ๊ฒ ์๊ฒ ๋ ๊ฒ์ ํ ๋๋ก ์ ์ํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ํด๋ณด์.
๊ธฐ์กด์ ์๋ nav ol์์ ๋ด์ฉ์ ์ญ์ ๋ฅผ ํด์ฃผ์.
์ด์ file์ ์๋ txt๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ ์๋, DataBase๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋ณ๊ฒฝํด์ผ ํ๋ค.
while($row = mysqli_fetch_assoc($result)){
echo '<li><a href="http://localhost/index.php?id='.$row['id'].'">'.$row['title'].'</a></li>'."\n";
}
๋จผ์ listํ์์ผ๋ก ์ถ๋ ฅ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ liํ๊ทธ์ ๊ฐ ๋ฆฌ์คํธ๋ฅผ ํด๋ฆญํ๋ฉด ํด๋น ์ ๋ณด๋ฅผ ๋ถ๋ฌ์์ผ ํ๋ aํ๊ทธ๋ฅผ ์ฌ์ฉํด์ค๋ค.
๊ทธ๋ ๊ฒ ๋์ค๋ ํ๋ง๋ค id๊ฐ์ ์์๋๋ก ๋ฌ์์ฃผ์ด์ title์ ๋ง๋ id๊ฐ์ด ๋งํฌ๋ก ๋ฌ์์ง๊ฒ ๋๋ค.
๊ทธ๋ฌ๋ฉด ์์ ๊ฐ์ด DataBase๋ฅผ ํตํด ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ๊ณ , ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ ๋ณด๊ฐ ์ถ๋ ฅ๋๋ ๋ถ๋ถ ๋ํ file์ ํตํด์๊ฐ ์๋, DataBase๋ฅผ ํตํด์ ์ถ๋ ฅํ๋๋ก ๋ณ๊ฒฝํ๋๋ก ํด์ผ ํ๋ค.
์ ๋ณด๊ฐ ์ถ๋ ฅ๋๋ ๋ถ๋ถ์ articleํ๊ทธ์ด๋ค.
if(empty($_GET['id']) === false){
$sql = 'SELECT * FROM topic WHERE id='.$_GET['id'];
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_assoc($result);
echo '<h2>'.$row['title'].'</h2>';
echo $row['description'];
๋จผ์ id๊ฐ์ด 0์ผ ๋๋ ์ ๋ณด๊ฐ ์ถ๋ ฅ์ด ๋๋ฉด ์ ๋จ์ผ๋ก if๋ฌธ์ผ๋ก ๊ฐ์ธ์ค๋ค.
์กฐ๊ฑด์์ id๋ผ๋ ์ ๋ ฅ๊ฐ์ด empty ์์ง false ์๋ค๋ฉด ์ฐธ์ด ๋๋ ์กฐ๊ฑด์์ด๋ค.
์ด๋ ๊ฒ DataBase๋ฅผ ํตํด ๋ฆฌ์คํธ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ ์ฌ์ดํธ๊น์ง ๊ตฌ์ถ์ ํ์๋ค.
form
์์์๋ DataBase๋ฅผ ํตํด ๋ฆฌ์คํธ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ๋ ฅ๊น์ง์ ๋ํด ์์๋ณด์๋ค.
ํ์ง๋ง, ๊ฒ์ํ์ด๋ผ๋ ์น์ฌ์ดํธ๋ ์ฌ๋๋ค์ด ์ ๋ณด๋ฅผ ์ค์ค๋ก ์ ๊ณตํ๊ณ ๋ณผ ์ ์์ด์ผ ํ๋ค.
๊ทธ๋ฌ๊ธฐ ์ํด์๋ form์ ๋ํด ์์์ผ ํ๋ค.
<p>์ ๋ชฉ : <input type="text" name="title"></p>
์ ์ฝ๋๋ฅผ ์ถ๋ ฅํ ์น์ด๋ค. input์ ํตํด text๋ฅผ ๋ง๋๋ ๊ฒ์ html์ ํตํด ์ด๋ฏธ ์๊ณ ์๋ ๊ฒ์ด๋ค.
ํ์ง๋ง, ๋ณธ๋ฌธ์ ์ถ๋ ฅํ ๋๋ ๋ง์ ์์ ์ ๋ ฅํด์ผ ํ๋ <textarea>๋ฅผ ํตํด์ ์ถ๋ ฅํด์ผ ํ๋ค.
<p>์ ๋ชฉ : <input type="text" name="title"></p>
<p>๋ณธ๋ฌธ : <textarea name="description"></textarea></p>
์ด๋ ๊ฒ ํ ์คํธ ์์ญ์ด ํธ์ถ์ด ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ์จ์ง ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ฒํผ ๋ํ ํ์ํ๋ค.
๊ทธ๋ด ๋๋ input type์ submit์ผ๋ก ํ๋ฉด ๋๋ค.
<p>์ ๋ชฉ : <input type="text" name="title"></p>
<p>๋ณธ๋ฌธ : <textarea name="description" id="" cols="30" rows="10"></textarea></p>
<input type="submit">
์ด๋ ๊ฒ ์ ์ถ ๋ฒํผ์ด ์๊ธด ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด์ ์ ๋ชฉ๊ณผ ๋ณธ๋ฌธ์ ์ ๊ณ ์ ์ถ ๋ฒํผ์ ๋๋ ธ์ ๋ ๊ทธ๊ฑธ ์ด๋๋ก ์ ์กํ๋์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ form์ด๋ค.
form ํ๊ทธ๋ฅผ ์ฌ์ฉํด ์ ์ฝ๋๋ฅผ ๊ฐ์ธ์ฃผ๋๋ก ํ์.
<form action="http://localhost/php/3.php" method="GET">
<p>์ ๋ชฉ : <input type="text" name="title"></p>
<p>๋ณธ๋ฌธ : <textarea name="description" id="" cols="30" rows="10"></textarea></p>
<input type="submit">
</form>
์ด๋ ๊ฒ action์ ํตํด์ ์ด๋๋ก ๊ฐ์ ธ๊ฐ์ง๋ฅผ ๊ฒฐ์ ํ๋ฉด ๋๋ค.
์ด์ 3.php ํ์ผ๋ก ๊ฐ์ ธ๊ฐ๋ค๋ ๊ฒ์ ํ์ธํ์ผ๋, 3.php ํ์ผ์ ๋ง๋ค์ด ๋ณด์.
<?php
echo $_GET['title'];
echo "<br>";
echo $_GET['description'];
?>
์ ์ฝ๋๋ 3.php ํ์ผ์ ์ฝ๋์ด๋ค.
์ด๋ ๊ฒ ๊ฐ์ ธ์จ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋๋ง ์๋ค.
์ด๋ ๊ฒ ์ ๋ชฉ๊ณผ ๋ณธ๋ฌธ์ ๊ธฐ์ฌํ๊ณ ์ ์ถ์ ๋๋ฅด๊ฒ ๋๋ฉด,
๊ธฐ์ฌํ ๋ด์ฉ์ด ํ๋ฉด์ ์ถ๋ ฅ๋๋ค.
์ฌ๊ธฐ์ ์ฌ์ดํธ์ url์ ํ์ธํ๋ฉด, title๊ณผ description์ด ์ฐ๊ด ๋ฐฐ์ด์ ํํ๋ก ์ ๋ณด๋ฅผ ๋ฐ์ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ทธ๋ ๋ค๋ฉด ์กฐ๊ธ ๊ธด ์ ๋ณด ๋ํ ์ ์ก์ด ๊ฐ๋ฅํ ๊น๋ผ๋ ์๊ฐ์ด ๋ ๋ค.
ํ์ง๋ง, ๊ธด ์ ๋ณด๋ ์์ ๊ฐ์ด Error๊ฐ ๋ฐ์ํ๋ค.
url์ max๊ธธ์ด๊ฐ ์ ํด์ ธ ์์ด ๋ฐฉ๋ํ ์์ ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ธฐ์๋ ํ๊ณ๊ฐ ์๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ก์ ํด์ผ ํ๋ค.
form์ method๋ฅผ GET์ด ์๋, POST๋ฅผ ๋ณ๊ฒฝํด์ฃผ๊ณ ,
3.php ํ์ผ์ GET์ POST๋ก ๋ณ๊ฒฝํด์ฃผ๋๋ก ํ์.
<form action="http://localhost/php/3.php" method="POST">
<p>์ ๋ชฉ : <input type="text" name="title"></p>
<p>๋ณธ๋ฌธ : <textarea name="description" id="" cols="30" rows="10"></textarea></p>
<input type="submit">
</form>
↑ 3.html
<?php
echo $_POST['title'];
echo "<br>";
echo $_POST['description'];
?>
↑ 3.php
์ด๋ ๊ฒ ์ ์ก ๋ฐฉ์์ POST๋ก ๋ณ๊ฒฝํ๊ฒ ๋๋ฉด, ๊ธด ์ ๋ณด๋ ์ถ๋ ฅ์ด ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด๋ ๊ฒ form์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ ๋ณด๋ฅผ ์๋ฒ๋ก ์ ์กํ ๋ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
๊ธ ์์ฑ
๊ทธ๋ ๋ค๋ฉด, ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ ๋ณด๋ฅผ ๋ฐ์์ DataBase์ ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ ๋ํ ์์๋ณด์.
์ผ๋จ ๊ธ์ ์์ฑํ๋ ๋ฒํผ์ ์ถ๊ฐํด๋ณด์.
<div id="control">
<input type="button" value="Light Mode" id = "Light_btn"/>
<input type="button" value="Dark Mode" id = "Dark_btn"/>
<a href="http://localhost/write.php">์ฐ๊ธฐ</a>
</div>
์ผ๋จ ๊ธ ์์ฑ ๋ฒํผ์ ๋คํฌ ๋ชจ๋ ๋ฒํผ ์์ ๋๋๋ก ํ๊ธฐ ์ํด divํ๊ทธ์ ์์ฑํ์๋ค.
๊ทธ๋ฌ๋ฉด ์ด๋ ๊ฒ ์ฐ๊ธฐ ๋ฒํผ์ด ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
ํ์ง๋ง write.php ํ์ผ์ ์๊ธฐ ๋๋ฌธ์, index.php ํ์ผ์ Duplicate ํ์ฌ write.php ํ์ผ์ ๋ง๋ค๋๋ก ํ์.
๊ทธ๋ผ ์ฐ๊ธฐ ๋ฒํผ์ ๋๋ฅด๋ฉด index.php์ ๋๊ฐ์ ํ๋ฉด์ด ๋ณด์ด์ง๋ง, ๋ค๋ฅธ ํ์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ , article๋ถ๋ถ์ ์ง์ฐ๊ณ form์ ์์ฑํ๋ฉด ๋๋ค.
<article>
<form action="process.php" method="post">
<p>
์ ๋ชฉ : <input type="text" name="title">
</p>
<p>
์์ฑ์ : <input type="text" name="author">
</p>
<p>
๋ณธ๋ฌธ : <textarea name="description"></textarea>
</p>
<input type="submit" name="name">
</form>
</article>
์ด๋ ๊ฒ ์ ๋ชฉ ์์ฑ์ ๋ณธ๋ฌธ์ ์ ๊ณ ์ ์ถ์ ๋๋ฅด๋ฉด process.php๋ฅผ ํตํด ์ฒ๋ฆฌ๋ฅผ ํ ๊ฒ์ด๋ค.
๊ทธ๋ผ process.php๋ฅผ ๋ง๋ค์ด ์ฃผ๋๋ก ํ์.
$conn = mysqli_connect('localhost','root','111111');
mysqli_select_db($conn, 'opentutorials');
$sql="INSERT INTO topic(title,description,author,created)VALUES('".$_POST['title']."','".$_POST['description']."','".$_POST['author']."',now())";
$result = mysqli_query($conn, $sql);
process.php ํ์ผ์ ์ฝ๋๋ ์์ ๊ฐ๋ค.
๋จผ์ DataBase์ ์ ์์ ํ๋ค. ( =$conn )
optutorials DataBase์ ์ ํํ๋ค. ( =mysqli_select_db )
๊ธ ์์ฑ์์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ๊ฐ์ ์ ๋ณด๋ฅผ ๊ฐ๊ฐ์ ์นดํ ๊ณ ๋ฆฌ์ ๋ฃ์ด์ค๋ค. ( =$sql )
์ฌ๊ธฐ์ now()๋ SQL์์ ์ ๊ณตํ๋ API์ด์ด๋ค.
created์ ๋ฐ์ดํฐ ํ์ ์ Datetime์ด๋ค. Datetime์ ์๊ฐ์ ์๋ฏธํ๋ค.
now()๋ฅผ ์ด์ฉํ๋ฉด, ์๋์ผ๋ก ํ์ฌ์๊ฐ์ด ๋ค์ด๊ฐ๋ค.
์ฟผ๋ฆฌ๋ฅผ ์ ๋ ฅ๋ฐ์ $sql ๋ณ์๋ฅผ mysqli_query์ ์ ๋ ฅ๊ฐ์ผ๋ก ์ถ๊ฐํด์ค๋ค. ( =$result )
์ table์ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๊ธฐ ์ table์ด๋ค.
์ด๋ ๊ฒ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ณ ์ ์ถ์ ํ๋ฉด, ๋น ํ๋ฉด์ด ์ถ๋ ฅ์ด ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ์ปค๋งจ๋๋ฅผ ์ฌ์ฉํด table์ ํ์ธํด ๋ณด๋ฉด ์์ ๊ฐ์ด, table์ ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ ์ถ ๋ฒํผ์ ๋๋ ์ ๋ ์๋์ ํ๋ฉด์ผ๋ก ๋์๊ฐ๋ ๊ฒ๊น์ง ๊ตฌํ์ ํด์ผ ํ๋ค.
๊ทธ๋ด ๋๋ Redirection์ ์ด์ฉํ๋ฉด ๋๋ค.
๊ทธ๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
$conn = mysqli_connect('localhost','root','momo0415');
mysqli_select_db($conn, 'opentutorials');
$sql="INSERT INTO topic(title,description,author,created) VALUES('".$_POST['title']."','".$_POST['description']."','".$_POST['author']."',now())";
$result = mysqli_query($conn, $sql);
header('Location: http://localhost/index.php');
์ฌ๊ธฐ์ Location:์น๊ณ ํ ์นธ ๋์ฐ๊ณ ์ฃผ์๋ฅผ ์ ๋ ฅํด์ผ ํ๋ค.
์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์ ๋ ฅํด์ฃผ๊ณ ๋ค์ ์ ์ถ์ ํด๋ณด๋ฉด, ํ ์ด๋ธ์ ์ถ๊ฐ๊ฐ ๋๊ณ ๋ค์ index.php๋ก ๋๋์๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด๋ ๊ฒ Array๊ฐ ์ถ๊ฐ๊ฐ ๋๊ณ , index.phpํ๋ฉด์ผ๋ก ๋์๊ฐ ๊ฒ์ ํ์ธํ ์ ์๋ค.
+ ๊ธฐํ
์ด๋ฏธ์ง ์ ๋ก๋ ( UPLOADCARE )
์ด์ ๋ ๊ธ์ ์ถ๊ฐํ๋ ๊ฒ๊น์ง ๊ตฌํ์ด ๊ฐ๋ฅํ ์ฌ์ดํธ๊ฐ ๋ง๋ค์ด์ก๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฌ์ฉ์๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋ณธ๋ฌธ์ ์ฒจ๋ถํ์ฌ ์ ๋ก๋ํ๋ ๊ณผ์ ๋ ์์๋ณด์.
์ด๋ฏธ์ง ์ ๋ก๋๋ฅผ ํ๋ ๊ฒ ๋ํ JS์ ์ฑํ ์ด๋ ๋๊ธ ๊ธฐ๋ฅ์ฒ๋ผ ์๋น์ค๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด๋ค.
์ ๋ก๋ํ ํ์ผ์ ์๋ฒ์ ๋ณด๊ดํ๊ฒ ๋๋ฉด ๊ทธ ์๋ฒ๋ ์ธ์ ๊ฐ๋ ๊ณ ์ฅ ๋๊ธฐ ๋ง๋ จ์ด๋ค.
๊ทธ๋ด ๋๋ ์๋ก์ด ๋ค๋ฅธ ์ฅ์น๋ฅผ ๊ณ์ํด์ ๊ต์ฒดํด์ฃผ๋ ์์ ์ด ํ์ํ๋ค.
ํ์ง๋ง ๊ทธ๋ฐ ์์ ๋ค์ ์๊ท๋ชจ ๊ฐ๋ฐ์๊ฐ ํ๊ธฐ์๋ ๋งค์ฐ ํ๋ค๊ณ ์ด๋ ค์ด ์ผ์ด๋ค.
UPLOADCARE์ ์๋น๊ฐ ์ค์ํ๋ค๊ธฐ๋ณด๋ค๋, UPLOADCARE์ ๊ฐ์ ๋ถํ๋ค์ ๊ฒฐํฉํด์
์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ์ฝ๋์ ํ์ ๋๋ผ๋ ๊ฒ์ด ์ค์ํ๋ค.
์ฌ์ดํธ:https://uploadcare.com/
File uploading, processing & delivery for web and mobile apps
Uploadcare provides companies with simple, powerful, developer-friendly building blocks to handle file uploading, processing, and delivery. A complete out-of-the-box solution, built for engineers by engineers.
uploadcare.com
์ฌ์ดํธ์ ๋ค์ด๊ฐ์ ํ์๊ฐ์ ์ ์งํํ ๋ค, Docs → File Uploader → installation์ ๋ค์ด๊ฐ ๋ค,
Global installation์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ๋๋ค.
Key๊ฐ ์๋ ์ฝ๋๋ body ํ๊ทธ ์ , input ํ๊ทธ๋ ์ ์ถ ๋ฒํผ ์์ ์์ด์ผ ํ๋, submit ์์ ๋ถ์ฌ ๋ฃ์ผ๋ฉด ๋๋ค.
๊ทธ๋ฌ๊ณ ์๋ก๊ณ ์นจ์ ํ๋ฉด, ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๋ ๋ฒํผ์ด ์๊ธด ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๊ณ ์ ์ถํ์ ๋, ์ด๋ฏธ์ง๊ฐ ๋ณธ๋ฌธ์ ์ ๋ก๋๊ฐ ๋๊ฒ ๋ง๋ค์ด ๋ณด์.
// → role์ ๊ฐ์ด uploadcare-uploader์ธ ํ๊ทธ๋ฅผ ์
๋ก๋ ์์ ฏ์ผ๋ก ๋ง๋ค์ด๋ผ
var singleWidget = uploadcare.SingleWidget('[role=uploadcare-uploader]');
singleWidget.onUploadComplete(function(info){
// → ๊ทธ ์์ ฏ์ ํตํด์ ์
๋ก๋๊ฐ ๋๋ฌ์
document.getElementById('description').value = document.getElementById('description').value + '<img src="'+info.cdnUrl+'">';
// → id ๊ฐ์ด description์ธ ํ๊ทธ์ ๊ฐ ๋ค์ ์
๋ก๋ํ ์ด๋ฏธ์ง ํ์ผ์ ์ฃผ์๋ฅผ ์ด๋ฏธ์ง ํ๊ทธ์ ํจ๊ป ์ฒจ๋ถํด๋ผ.
});
์ด๋ ๊ฒ ์์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํด์ฃผ๋ฉด ๋๋ค.
์ด๋ ๊ฒ ์์ฑํ ๊ธ์ ๋ค์ ์ด๋ฏธ์ง๊ฐ ๋ถ๋๋ก ํ๋ ๊ฒ ์ข๋ค. ๊ทธ๋ฌ ์ ์ถ์ ๋๋ฅด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๊ฐ์ด ์ด๋ฏธ์ง๊ฐ ์ ์ถ๋ ฅ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ ๋ก๋ํ ์ด๋ฏธ์ง๋ ์ ๋ก๋ ์ผ์ด ์๋ฒ์ ์ ์ฅ๋์ด์๋ค.
์ถ์ฒ: [์ํ์ฝ๋ฉ]์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ
'๐ Web > ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [๋ผ์ด๋ธ๋ฌ๋ฆฌ] (0) | 2022.09.24 |
---|---|
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [๋ณด์] (2) | 2022.09.23 |
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [MySQL ์ด๋ก ] (0) | 2022.09.20 |
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [PHP ์ค์ต] (0) | 2022.09.18 |
์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ [JS ์ค์ต] (0) | 2022.09.18 |