upload รูป PHP MySQLi บทความนี้สอนเขียนโปรแกรม upload รูปภาพด้วยภาษา PHP พร้อมกับเก็บชื่อรูปภาพลงฐานข้อมูล MySQL โดยใช้ mysqli พร้อมแสดงผลลัพธ์การ upload รูปภาพออกสู่หน้าจอ สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง สร้างฐานข้อมูลชื่อ demo พร้อมตารางชื่อ image
CREATE TABLE `image` (
`id` int NOT NULL AUTO_INCREMENT,
`name` char(50) COLLATE utf8mb4_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
ตัวอย่าง upload รูป PHP MySQLi
<form action="index.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="upload รูป">
</form>
<?php
isset( $_FILES['file']['tmp_name'] ) ? $tmp_name = $_FILES['file']['tmp_name'] : $tmp_name = "";
isset( $_FILES['file']['name'] ) ? $name = $_FILES['file']['name'] : $name = "";
if( !empty( $tmp_name ) && !empty( $name ) ) {
if( move_uploaded_file( $tmp_name, $name ) ) {
$c = mysqli_connect("localhost", "root", "", "demo");
mysqli_query( $c, "SET NAMES UTF8" );
$sql = " INSERT INTO image ( name ) VALUES ( '{$name}' ) ";
$q = mysqli_query( $c, $sql );
if( $q ) {
echo "upload รูป PHP MySQLi สำเร็จ";
}
mysqli_close( $c );
}
}
?>
upload รูป PHP MySQLi จากตัวอย่างสร้างฟอร์มให้ผู้ใช้งานเลือกรูปภาพด้วย input type=file ตัวแปรชื่อ file พร้อม form submit จากนั้นรับค่าตัวแปรด้วยคำสั่ง $_FILES เชื่อมต่อฐานข้อมูลชื่อ demo และใช้คำสั่ง move_uploaded_file เพื่อ upload รูปภาพ และใช้คำสั่ง INSERT INTO เพื่อเพิ่มชื่อรูปภาพลงตารางชื่อ image ของ MySQL ด้วย MySQLi