การอัปโหลดรูปภาพลงฐานข้อมูล ในที่นี้จะใช้วิธีเก็บรูปภาพไว้ในโฟลเดอร์ และเก็บชื่อภาพไว้ในฐานข้อมูล
ซึ่งวิธีนี้จะไม่ทำให้ฐานข้อมูลบวม
1. สร้างฟอร์มในการอัปโหลด
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
</head>
<body>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input type="file" name="file" />
<input type="submit" name="Submit" value="อัปรูป" />
<input name="hidAction" id="hidAction" type="hidden" value="Add"> //ส่งค่าแบบ hidden
</form>
</body>
</html>
2.โครงสร้างในฐานข้อมูล
CREATE TABLE `image` (
`id` int(11) NOT NULL auto_increment,
`image` tinytext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
3. ส่วนของโคดในการอัปโหลด
<?
if($hidAction == "Add") { //เช็คค่า hidAction ที่ส่งมาถ้าเท่ากับ Add ให้โปรแกรทำงานต่อ
$date = date("U"); // สร้าเลข 10 หลักมาจากเวลาเพื่อนำไปเป็นชื่อรูปภาพ
if($file != "") {
$type = getimagesize($file); // หาประเภทของรูปภาพ
if($type[2] == 1) {
$image = $date."_img.gif"; // เมื่อรูปเป็น .gif
} else if($type[2] == 2) {
$image = $date."_img.jpg"; // เมื่อรูปเป็น .jpg
}
else {
$image = $date."_img.bmp"; // เมื่อรูปเป็น .bmp
}
copy($file, "images/$image"); // copy รูปไว้ในโฟลเดอร์ image
chmod("images/$image", 0777); // ทำการ changmode
}
$host="localhost";
$db_username="root";
$db_password="root";
$dbname="test"; //ชื่อฐานข้อมูล
$connect = mysql_connect($host,$db_username,$db_password);
if(!$connect){
echo "ไม่สามารถติดต่อฐานข้อมูลได้"; exit();
}
$sql = "insert into image (id, image) values ('', '$image') "; //เพิ่มข้อมูลลงดาต้าเบส โดยเก็บชื่อรูปไว้
$dbquery = mysql_db_query($dbname, $sql);
}
?>