Devdit
 

PHP อัปโหลดไฟล์ pdf ลงฐานข้อมูล

3K

PHP อัปโหลดไฟล์ pdf ลงฐานข้อมูล MySQL หรือ MariaDB บทความนี้แนะนำการเขียนฟอร์มสำหรับเลือกไฟล์ pdf และอัปโหลดไฟล์ที่เลือกเข้า Server และเก็บชื่อไฟล์ pdf ลงฐานข้อมูลเพื่อนำมาแสดงบนหน้าเว็บไซต์ สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง โครงสร้างตาราง test ของฐานข้อมูล demo

+-------+-----------+
| Field | Type      |
+-------+-----------+
| id    | int(11)   |
| file  | char(255) |
+-------+-----------+

 

ตัวอย่าง PHP อัปโหลดไฟล์ pdf ลงฐานข้อมูล

<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST" enctype="multipart/form-data">
    กรุณาเลือกไฟล์ pdf <input type="file" name="pdf" accept="application/pdf,application/vnd.ms-excel"><br/>
    <input type="submit" value="อัปโหลดไฟล์ pdf">
</form>
<?php
    isset( $_FILES['pdf']['tmp_name'] ) ? $pdf_tmp_name = $_FILES['pdf']['tmp_name'] : $pdf_tmp_name = "";
    isset( $_FILES['pdf']['name'] ) ? $pdf_name = $_FILES['pdf']['name'] : $pdf_name = "";
    if( !empty( $pdf_tmp_name ) && !empty( $pdf_name ) ) {
        if( move_uploaded_file( $pdf_tmp_name, $pdf_name ) ) {
            $c = mysqli_connect( "localhost", "root", "", "demo" );
            $sql = " INSERT INTO test (id, file) VALUE (NULL, '{$pdf_name}') ";
            $q = mysqli_query( $c, $sql );
            mysqli_close( $c );
            if( $q ) {
                echo "อัปโหลดไฟล์ pdf ลงฐานข้อมูลเรียบร้อย";
            }
        }
    }
?>

ผลลัพธ์

อัปโหลดไฟล์ pdf ลงฐานข้อมูลเรียบร้อย

คำอธิบาย

1. PHP อัปโหลดไฟล์ pdf ลงฐานข้อมูล เริ่มต้นสร้างฟอร์ม HTML ประกอบด้วย input type file ตัวแปรชื่อ pdf และ ปุ่ม submit

2. เมื่อผู้ใช้งานเลือกไฟล์ pdf และกดปุ่ม submit ตัวแปร pdf จะถูกส่งมาที่ PHP ประกอบด้วยตัวแปร pdf_tmp_name เก็บตำแหน่งที่อยู่ของไฟล์ และ pdf_name เก็บชื่อของไฟล์

3. ใช้คำสั่ง move_uploaded_file เพื่ออัปโหลดไฟล์ pdf เข้า Server

4. เชื่อมต่อฐานข้อมูล MySQL/MariaDB ด้วยฐานข้อมูลชื่อ demo จากนั้นใช้คำสั่ง INSERT INTO เพิ่มข้อมูลลงในตาราง test

5. กรณีเพิ่มข้อมูลลงฐานข้อมูลสำเร็จให้พิมพ์ข้อความว่า "อัปโหลดไฟล์ pdf ลงฐานข้อมูล เรียบร้อย" บนหน้าเว็บไซต์

แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ