หน้าแรก

เทคนิคการเก็บรูปภาพลงฐานข้อมูล MySQL ใน PHP


 เทคนิคการเก็บข้อมูลที่เป็นรูปภาพลงฐานข้อมูล Mysql ก็ได้ทำการเขียนบทความนี้กันซะทีหลัวจากที่หลายคนถามมา มาดูวิธีการทำเลยดีกว่า

ขั้นตอนการทำ

1. ใช้ PHPMyAdmin สร้างฐานข้อมูลรองรับรูปภาพที่เราจะใส่ด้วยในที่นี้ Field ที่เก็บรูปภาพผมเก็บผมชนิด Blob ดังภาพ


2. หรือจะนำโค้ดนี้ไป Run สร้างตารางก็ได้

CREATE TABLE images (id INT not null AUTO_INCREMENT, images BLOB not null , PRIMARY KEY (id))


3. เมื่อเราได้ฐานข้อมูลแล้วเราก็มาสร้าง Form และกำหนดค่าตัวแปลดังภาพ


4. หรือจะนำโค้ดนี้มาสร้าง Form ก็ได้ครับ

<html>
<head>
<title>Un title page</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>
<body bgcolor="#FFFFFF">
&nbsp;&nbsp;<br>
&nbsp;&nbsp;ใส่รูปภาพของคุณที่นี่&nbsp;&nbsp; 
<form name="form1" method="post" action="add.php" enctype="multipart/form-data"> //อย่าลืมกำหนด Action นะครับ 
&nbsp; 
<input type="file" name="files">
<br>
&nbsp;
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Reset">
</form>
</body>
</html>

5. หลังจากนั้นเราก็มาเขียนโค้ดที่ไฟล์ add.php

<? 
$hostname = "localhost"; 
$user = ""; 
$password = ""; 
$dbname = "test"; 
$tblname = "images";
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
copy($files,$files_name);
$pic_size = filesize($files_name);
$pic_data = addslashes(fread(fopen($files_name,"r"),$pic_size));
$sql = "insert into $tblname(images) values ('$pic_data')"; 
$dbquery = mysql_db_query($dbname, $sql);
mysql_close();
?>

6. หลังจากนั้นลองทดสอบ up รูปเล็กก่อนนะครับเพื่อเราจะได้ดูข้อมูลได้ดังภาพ


7. ถ้าได้ดังภาพแล้วแสดงว่าเราได้เก็บข้อมูลที่เป็นรูปภาพลงในฐานข้อมูลเรียบร้อยแล้ว

การเก็บค่า CheckBox ลงฐานข้อมูล ทดสอบการแสดงผลรูปภาพที่เก็บในฐานข้อมูล MySQL
บทความที่เกี่ยวข้อง

ดูบทความ PHP ทั้งหมด »