เริ่มจากการสร้างฐานข้อมูลเสียก่อนโดยผมใช้ฐานข้อมูลชื่อว่า image ตาราง 3 คอลั่ม บันทึก id / name / path ง่ายๆ แค่ 2 ไฟล์เท่านั้นเองครับ
<?php
$server = "localhost";
$username = "root";
$password = "root";
$dbname = "your_db_name";
try {
$conn = new PDO(
"mysql:host=$server; dbname=$dbname",
"$username", "$password"
);
$conn->setAttribute(
PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION
);
}
catch(PDOException $e) {
die('เชื่อมต่อฐานข้อมูลไม่ได้');
}
?>
จากนั้นเราก็จะสร้างฟอร์ม และตัว Submit form และฟังชั่นการอัปโหลดขึ้นฐานข้อมูลเราครับ
<?php
include "db.php";
if(isset($_POST['submit'])) {
$countfiles = count($_FILES['files']['name']);
//อัปโหลดที่ไหน
$query = "INSERT INTO images (name,path) VALUES(?,?)";
$statement = $conn->prepare($query);
for($i = 0; $i < $countfiles; $i++) {
// ชื่อไฟล์
$filename = $_FILES['files']['name'][$i];
// Path
$target_file = './uploads/'.$filename;
// นามสกุล
$file_extension = pathinfo(
$target_file, PATHINFO_EXTENSION);
$file_extension = strtolower($file_extension);
// ไฟล์ที่รองรับ
$valid_extension = array("png","jpeg","jpg");
if(in_array($file_extension, $valid_extension)) {
// Upload file
if(move_uploaded_file(
$_FILES['files']['tmp_name'][$i],
$target_file)
) {
$statement->execute(
array($filename,$target_file));
}
}
}
echo "อัปโหลดสำเร็จ";
}
?>
<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<meta name="viewport" content=
"width=device-width, initial-scale=1.0">
<title>อัปโหลดไฟล์เก่ง</title>
</head>
<body>
<h1>อัปโหลดไฟล์</h1>
<form method='post' action=''
enctype='multipart/form-data'>
<input type='file' name='files[]' multiple />
<input type='submit' value='Submit' name='upload' />
</form>
</body>
</html>