|
|
|
ขออนุญาตสอบเรื่อง การอัพโหลดไฟล์ 2 ไฟล์ขึ้นไป ลงใน table เดียวกัน |
|
|
|
|
|
|
|
อัพโหลดไฟล์ 2 ไฟล์ขึ้นไป ลงใน table เดียวกัน จาก From เดียวกัน ต้องเขียนตรง Code อัพโหลดไฟล์อย่างไงครับ
Code (PHP)
include '../config/database.php';
$login_name = $_SESSION["loginname"];
$officer_code = trim($_POST['officer_code']);
$department = trim($_POST['department']);
$fname = trim($_POST['fname']);
$type_position = trim($_POST['type_position']);
$position = trim($_POST['position']);
$user_case = trim($_POST['user_case']);
$dateInput = trim($_POST['dateInput']);
$dateInput2 = trim($_POST['dateInput2']);
//สร้างตัวแปรสุ่มตัวเลขเพื่อเอาไปตั้งชื่อไฟล์ที่อัพโหลดไม่ให้ชื่อไฟล์ซ้ำกัน
$numrand = (mt_rand());
//รับชื่อไฟล์จากฟอร์ม
$img = (isset($_REQUEST['img']) ? $_REQUEST['img'] : '');
$upload=$_FILES['img'];
if($upload <> '') {
//โฟลเดอร์ที่เก็บไฟล์
$path="fileupload/";
//ตัวขื่อกับนามสกุลภาพออกจากกัน
$type = strrchr($_FILES['img']['name'],".");
//ตั้งชื่อไฟล์ใหม่เป็น สุ่มตัวเลข+วันที่
$newname =$numrand.$type;
$path_copy=$path.$newname;
$path_file_img="fileupload/".$newname;
//คัดลอกไฟล์ไปยังโฟลเดอร์
move_uploaded_file($_FILES['img']['tmp_name'],$path_copy);
}
$sql = "INSERT INTO employee(officer_code, department,fname, type_position, position, user_case,day_of_issue,date_of_expiry,images,insert_stf) ";
$sql .= "VALUES ('$officer_code', '$department', '$fname', '$type_position', '$position', '$user_case', '$dateInput', '$dateInput2','$newname','$login_name')";
function sendlinemesg(){
define('LINE_API', "");
define('LINE_TOKEN', ""); //เปลี่ยนใส่ Token ของเราที่นี่
function notify_message($message){
$queryData = array('message' => $message);
$queryData = http_build_query($queryData, '', '&');
$headerOptions = array(
'http' => array(
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\n"
. "Authorization: Bearer " . LINE_TOKEN . "\r\n"
. "Content-Length: " . strlen($queryData) . "\r\n",
'content' => $queryData
)
);
$context = stream_context_create($headerOptions);
$result = file_get_contents(LINE_API, FALSE, $context);
$res = json_decode($result);
return $res;
}
}
if (mysqli_query($conn, $sql)) {
$header = 'ส่งข้อความถึงเจ้าหน้าที่ดูแลการออกบัตร';
$message = $header ."\n" .'มีสร้างคำขอมีบัตรประจำตัวเจ้าหน้าที่: ' . $id . '' . $fname . ' ' . $type_position . "\n"
. 'ของหน่วยงาน: ' . $department . "\n"
. 'โดยคุณ: ' . $login_name;
sendlinemesg();
header('Content-Type: text/html; charset=utf8');
$res = notify_message($message);
echo '<script type="text/javascript">';
echo 'alert("บันทึกข้อมูลสำเร็จ\n");';
echo 'window.location.href = "../show_employee.php";';
echo '</script>';
}
else {
echo '<script type="text/javascript">';
echo 'alert("บันทึกข้อมูลไม่สำเร็จ\n' + $mysqli -> error + '");';
echo 'window.location.href = "../show_employee.php";';
echo '</script>';
}
}
mysqli_close($conn);
?>
Tag : PHP, MySQL, JavaScript
|
ประวัติการแก้ไข 2021-06-27 13:24:40
|
|
|
|
|
Date :
2021-06-25 16:17:17 |
By :
ariesboy |
View :
497 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Upload ไฟล์ลงใน table
กับ Upload ไฟล์แล้วเอาพาธใส่ลงใน table
ความหมายคนละเรื่องวิธีทำคนละอย่าง และการวางแผนอนาคตจะวิบัติต่างกันมากนะครับ จะทำแบบไหน? ยืนยันให้แน่ใจได้ไหมว่าจะอัพโหลดใส่ table??
ข้อเสียของวิธีแรก ถ้า user เยอะ มันจะกินเนื้อที่มากแล้วเวลา export, backup DB จะนานอย่างยิ่ง
ถ้าทำวิธีที่สอง อันนี้ปกติเขานิยมทำกัน
จากของ จขกท.
ตัวแปร $path_copy คือน่าจะเป็น path ใหม่ที่ใช้ย้ายไฟล์ที่อัพโหลด ก็เอา path อันนี้บันทึกลงใน DB อย่างเช่นถ้าตารางมีคอลัมน์ path_copy หรือคอลัมน์อะไรที่ใช้เก็บพาธรูป ก็เอาใส่ลงในนั้นเลย
ตัวอย่าง
Code (SQL)
INSERT INTO `table` (`name`, `id_photo`) VALUES (\'' . $name (มาจาก input name) . '\', \'' . $path_copy . '\');
ส่วนอีกไฟล์หนึ่งทำลักษณะเดียวกันกับ คห. 1 คือเพิ่มคอลัมในตาราง. เพิ่ม input file. เพิ่ม move_uploaded_file() แล้วเอา path ที่จะใช้บันทึกลงฐานข้อมูลในลักษณะเดียวกัน
|
ประวัติการแก้ไข 2021-06-25 16:53:52 2021-06-25 18:38:39
|
|
|
|
Date :
2021-06-25 16:53:31 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|