การอัพโหลดไฟล์ด้วย PHP และ MySQL– การอัพโหลดไฟล์ถือเป็นสิ่งที่สำคัญที่สุดอย่างหนึ่งสร้างแอปพลิเคชัน. โดยเฉพาะแอปพลิเคชันบนเว็บ. เพราะบางครั้งเราต้องทำทำการอัพโหลดไฟล์มันสามารถแสดงได้อัพโหลดไฟล์รายงาน, หรืออาจจะอัพโหลดไฟล์ภาพเช่นเดียวกับในเฟสบุ๊คตัวอย่างของเขา บน facebook มีฟีเจอร์สำหรับอัพโหลดรูปภาพเพื่อใช้เป็นรูปโปรไฟล์. และตัวอย่างการใช้งานต้องมีอย่างอื่นอยู่คุณสมบัติการอัพโหลดไฟล์มันคือแอปพลิเคชันการจัดการไฟล์เก็บถาวร. ตัวอย่างเช่นการจัดการบันทึกสำนักงาน. โดยสามารถอัพโหลดข้อมูล PDF หรือเอกสารอื่น ๆ เพื่อเก็บถาวรได้
ในบทช่วยสอนนี้ ฉันจะแบ่งปันบทช่วยสอนวิธีการการอัพโหลดไฟล์ด้วย PHP และ MySQL. และบันทึกข้อมูลภาพลงฐานข้อมูล ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีอัปโหลดไฟล์ด้วย php จากนั้นเราจะจัดเก็บชื่อไฟล์ไว้ในฐานข้อมูล
การเตรียมตัวอัพโหลดไฟล์ด้วย PHP
สำหรับการเตรียมตัว สิ่งที่เพื่อนๆต้องทำมีดังนี้ ทำมัน:
- ดัชนี.php
- การกระทำ.php
- การเชื่อมต่อ.php
- โฟลเดอร์ไฟล์เบอร์นามา
อัพโหลดไฟล์ด้วย php และ mysql
ฉันจะอธิบายเล็กน้อยเกี่ยวกับการใช้ไฟล์ที่สร้างขึ้นข้างต้น ในไฟล์ index.php เราจะสร้างแบบฟอร์มอัพโหลดไฟล์ภาพ. ใน fileaksi.php เราจะสร้างโปรเซสเซอร์จากแบบฟอร์มไฟล์อัพโหลด ดังนั้นไฟล์ที่อัพโหลดจาก index.php จะถูกประมวลผลในไฟล์ action.php จากนั้นในไฟล์ Connection.php เราจะสร้างการเชื่อมต่อฐานข้อมูล php และ mysql อ่านบทช่วยสอนก่อนหน้านี้เกี่ยวกับ www.malasngoding.comวิธีการเชื่อมต่อ PHP กับฐานข้อมูล MySQL. ในที่สุดโฟลเดอร์ชื่อไฟล์เราจะใช้เป็นโฟลเดอร์ที่เก็บไฟล์รูปภาพที่อัพโหลด ดังนั้นไฟล์ภาพที่อัพโหลดจะถูกบันทึกลงในโฟลเดอร์ไฟล์นี้
การอัพโหลดไฟล์ด้วย PHP และ MySQL
มาเริ่มกันเลย ทำการเชื่อมต่อฐานข้อมูลก่อน
การเชื่อมต่อ.php
1 2 3 4 |
mysql_connect("โฮสต์ท้องถิ่น","ราก","เอ็กซ์เอ็กซ์"); mysql_select_db("ขี้เกียจ"); ?> |
กรุณาเพื่อน ๆ ปรับรหัสผ่านและอื่น ๆ ที่นี่เราใช้ฐานข้อมูลชื่อ "malasngoding" ดังนั้นได้โปรดเพื่อน ๆ สร้างฐานข้อมูลด้วยชื่อ Malasngoding จากนั้นสร้างตารางด้วยการอัพโหลดชื่อ หรือเพื่อให้เร็วขึ้น โปรดนำเข้าไฟล์ sql ต่อไปนี้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | -- phpMyAdminSQLการถ่ายโอนข้อมูล -- รุ่น 3.5.2.2 -- http: ://www.phpmyadmin.net -- -- เจ้าภาพ: : 127.0.0.1 -- รุ่นเวลา: : ก.พ 27, 2559 ที่ 06: :34 เช้า -- เซิร์ฟเวอร์รุ่น: : 5.5.27 -- PHPเวอร์ชัน: : 5.4.7 ชุดSQL_MODE="NO_AUTO_VALUE_ON_ZERO"; ชุดเขตเวลา = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 ตั้งชื่อ utf8 */; -- -- ฐานข้อมูล: : `ขี้เกียจ` -- -- -------------------------------------------------- -------------------------------------------------- ------ -- -- โต๊ะโครงสร้างสำหรับโต๊ะ `ที่อัพโหลด` -- สร้างโต๊ะถ้าไม่มีอยู่ `ที่อัพโหลด` ( `id_file` ภายใน(11) ไม่โมฆะAUTO_INCREMENT, `nama_file` วาร์ชาร์(100) ไม่โมฆะ, หลักสำคัญ (`id_file`) ) เครื่องยนต์=อินโนดีบีค่าเริ่มต้นชาร์เซ็ท=ละติน1AUTO_INCREMENT=7 ; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; |
จากนั้นพิมพ์คำสั่งต่อไปนี้ในไฟล์ index.php เพราะเราจะสร้างแบบฟอร์มอัพโหลดไฟล์ในไฟล์ index.php นี้
ดัชนี.php
ดัชนี.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!ด็อคไทป์html> <html> <ศีรษะ> <ชื่อ>ทำที่อัพโหลดไฟล์กับPHPและMySQL | www.ขี้เกียจ.ดอทคอม</ชื่อ> </ศีรษะ> <ร่างกาย> <h1>ทำที่อัพโหลดไฟล์กับPHPและMySQL <พี่ชาย/> www.ขี้เกียจ.ดอทคอม</h1> <รูปร่างการกระทำ="action.php" วิธี="โพสต์" เข้ารหัส="หลายส่วน/ฟอร์มข้อมูล"> <ป้อนข้อมูลพิมพ์="ไฟล์" ชื่อ="ไฟล์"> <ป้อนข้อมูลพิมพ์="ส่ง" ชื่อ="ที่อัพโหลด" ค่า="ที่อัพโหลด"> </รูปร่าง> </ร่างกาย> </html> |
มีความแตกต่างที่นี่ในแบบฟอร์มการอัปโหลดไฟล์กับแบบฟอร์มปกติที่เราได้พูดคุยกันก่อนหน้านี้ อ่าน:เรียนรู้ HTML ตอนที่ 11: การสร้างแบบฟอร์มใน HTML. ดูองค์ประกอบแบบฟอร์มด้านบน
ดัชนี.php
1 | <รูปร่างการกระทำ="action.php" วิธี="โพสต์" เข้ารหัส="หลายส่วน/ฟอร์มข้อมูล"> |
มีแอตทริบิวต์ enctype ซึ่งทำหน้าที่ให้คำแนะนำแก่ PHP ว่าแบบฟอร์มนี้เป็นแบบฟอร์มสำหรับการอัปโหลดไฟล์
ดัชนี.php
1 | เข้ารหัส="หลายส่วน/ฟอร์มข้อมูล" |
ใช้เลยแอตทริบิวต์ enctypeนี่คือการอัพโหลดไฟล์
จากนั้นในไฟล์ action.php
การกระทำ.php
การกระทำ.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <!ด็อคไทป์html> <html> <ศีรษะ> <ชื่อ>ทำที่อัพโหลดไฟล์กับPHPและMySQL | www.ขี้เกียจ.ดอทคอม</ชื่อ> </ศีรษะ> <ร่างกาย> <h1>ทำที่อัพโหลดไฟล์กับPHPและMySQL <พี่ชาย/> www.ขี้เกียจ.ดอทคอม</h1>
รวม 'การเชื่อมต่อ.php'; ถ้า($_โพสต์['ที่อัพโหลด']){ $extension_allowed= อาร์เรย์(' png','JPG'); หมายเลข $ = $_ไฟล์['ไฟล์']['ชื่อ']; $x = ระเบิด('.', หมายเลข $); $ส่วนขยาย = strtolower(จบ($x)); ขนาด$= $_ไฟล์['ไฟล์']['ขนาด']; $file_tmp = $_ไฟล์['ไฟล์']['tmp_name']; ถ้า(ใน_อาร์เรย์($ส่วนขยาย, $extension_allowed) === จริง){ ถ้า(ขนาด$ < 1044070){ move_uploaded_file($file_tmp, 'ไฟล์/'.หมายเลข $); $สอบถาม = mysql_query("แทรกลงในค่าการอัปโหลด(NULL, '$nama')"); ถ้า($สอบถาม){ เสียงสะท้อน 'อัพโหลดไฟล์สำเร็จ'; }อื่น{ เสียงสะท้อน 'ไม่สามารถอัปโหลดภาพ'; } }อื่น{ เสียงสะท้อน 'ขนาดไฟล์ใหญ่เกินไป'; } }อื่น{ เสียงสะท้อน 'ไม่อนุญาตให้อัปโหลดนามสกุลไฟล์'; } } ?> <พี่ชาย/> <พี่ชาย/> <ก href="index.php">ที่อัพโหลด อีกครั้ง</ก> <พี่ชาย/> <พี่ชาย/> <โต๊ะ>
$ข้อมูล = mysql_query("เลือก * จากการอัพโหลด"); ในขณะที่($d = mysql_fetch_array($ข้อมูล)){ ?> <ตร> <ทีดี> <รูปภาพsrc=" เสียงสะท้อน "ไฟล์/".$d['nama_file']; ?>"> </ทีดี> </ตร> } ?> </โต๊ะ> </ร่างกาย> </html> |
ฉันจะอธิบายเล็กน้อยเกี่ยวกับขั้นตอนการอัปโหลด ให้ความสนใจกับไฟล์ action.php ด้านบน
การกระทำ.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
รวม 'การเชื่อมต่อ.php'; ถ้า($_โพสต์['ที่อัพโหลด']){ $extension_allowed= อาร์เรย์(' png','JPG'); หมายเลข $ = $_ไฟล์['ไฟล์']['ชื่อ']; $x = ระเบิด('.', หมายเลข $); $ส่วนขยาย = strtolower(จบ($x)); ขนาด$= $_ไฟล์['ไฟล์']['ขนาด']; $file_tmp = $_ไฟล์['ไฟล์']['tmp_name']; ถ้า(ใน_อาร์เรย์($ส่วนขยาย, $extension_allowed) === จริง){ ถ้า(ขนาด$ < 1044070){ move_uploaded_file($file_tmp, 'ไฟล์/'.หมายเลข $); $สอบถาม = mysql_query("แทรกลงในค่าการอัปโหลด(NULL, '$nama')"); ถ้า($สอบถาม){ เสียงสะท้อน 'อัพโหลดไฟล์สำเร็จ'; }อื่น{ เสียงสะท้อน 'ไม่สามารถอัปโหลดภาพ'; } }อื่น{ เสียงสะท้อน 'ขนาดไฟล์ใหญ่เกินไป'; } }อื่น{ เสียงสะท้อน 'ไม่อนุญาตให้อัปโหลดนามสกุลไฟล์'; } } ?> |
อันดับแรกเนื่องจากเราใช้ฐานข้อมูล จากนั้นเชื่อมต่อก่อนด้วยการเชื่อมต่อ file.php เพื่อให้ php เชื่อมต่อกับฐานข้อมูล mysql
การกระทำ.php
1 | รวม 'การเชื่อมต่อ.php'; |
และกรอกรายละเอียดของข้อมูลที่อัพโหลดไปยังตัวแปรแต่ละตัว
การกระทำ.php
1 2 3 4 5 6 | $extension_allowed= อาร์เรย์(' png','JPG'); $เลขที่ = $_ไฟล์['ไฟล์']['ชื่อ']; $x = ระเบิด('.', $เลขที่); $ส่วนขยาย = strtolower(จบ($x)); $ขนาด= $_ไฟล์['ไฟล์']['ขนาด']; $file_tmp = $_ไฟล์['ไฟล์']['tmp_name']; |
คำสั่งด้านบนเป็นคำสั่งเพื่อรับไฟล์ข้อมูลที่อัพโหลด เช่น เช่น เช่น:
- $_FILES['file']['name'] = มีประโยชน์ในการเรียกชื่อไฟล์ที่อัพโหลด
- $_FILES['file']['size'] = รับขนาดของไฟล์ที่อัพโหลด
- $_FILES['file']['tmp_name'] = เพื่อรับไฟล์ชั่วคราวที่อัพโหลด (tmp)
ในตัวแปร $extension_allowed ฉันระบุชื่อของนามสกุลไฟล์ที่ได้รับอนุญาตให้อัปโหลด สิ่งนี้มีประโยชน์สำหรับการรักษาความปลอดภัย ดังนั้นผู้ใช้ในภายหลังจึงไม่สามารถอัปโหลดไฟล์สุ่มได้ด้วยเหตุผลด้านความปลอดภัย ดังนั้นที่นี่เราอนุญาตให้อัพโหลดเฉพาะไฟล์รูปภาพเท่านั้น พร้อมนามสกุล PNG และ JPG เพื่อนๆ สามารถปรับใหม่ได้ทีหลังนะครับ เพราะที่นี่ผมยกตัวอย่างและอธิบายเท่านั้นวิธีอัพโหลดไฟล์รูปภาพด้วย php และ mysql.
การกระทำ.php
1 | $extension_allowed= อาร์เรย์(' png','JPG'); |
กระบวนการอัพโหลดไฟล์รูปภาพ
และสิ่งที่สำคัญที่สุดคือในส่วนนี้
การกระทำ.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ถ้า(ใน_อาร์เรย์($ส่วนขยาย, $extension_allowed) === จริง){ ถ้า($ขนาด < 1044070){ move_uploaded_file($file_tmp, 'ไฟล์/'.$เลขที่); $แบบสอบถาม = mysql_query("แทรกลงในค่าการอัปโหลด(NULL, '$nama')"); ถ้า($แบบสอบถาม){ เสียงสะท้อน 'อัพโหลดไฟล์สำเร็จ'; }อื่น{ เสียงสะท้อน 'ไม่สามารถอัปโหลดภาพ'; } }อื่น{ เสียงสะท้อน 'ขนาดไฟล์ใหญ่เกินไป'; } }อื่น{ เสียงสะท้อน 'ไม่อนุญาตให้อัปโหลดนามสกุลไฟล์'; } |
ที่นี่เราจะตรวจสอบนามสกุลไฟล์ที่อัพโหลดโดยตรวจสอบว่านามสกุลไฟล์ที่อัพโหลดตรงกับชื่อของนามสกุลที่เราได้กำหนดไว้ในตัวแปรอาร์เรย์ $extension_permission ก่อนหน้านี้หรือไม่ มิฉะนั้นจะไม่มีการอัปโหลดและจะมีข้อความปรากฏขึ้นว่าไม่อนุญาตให้ใช้นามสกุลไฟล์ที่อัปโหลด
อ่านเพิ่มเติม:
- เรียนรู้ JQuery ตอนที่ 11: การจัดการคลาสด้วย JQuery
- Bootstrap ตอนที่ 16: Bootstrap ระบบ Mengenal Grid
จากนั้นตรวจสอบขนาดของไฟล์ที่อัพโหลด เรากำหนดขนาดสูงสุดไว้ที่ 1 mb ดังนั้นที่นี่PHP ถ้าแตกแขนงอื่นมีอิทธิพลมากเช่นกันเพื่อนใช่
การกระทำ.php
1 | ถ้า($ขนาด < 1044070){ |
หากไฟล์ที่อัพโหลดมีขนาดใหญ่กว่า 1 mb ข้อความ "ขนาดไฟล์ใหญ่เกินไป" จะปรากฏขึ้น หากขนาดไฟล์เหมาะสมแล้วอัปโหลดร้อยแก้วจะดำเนินต่อไปอีกครั้ง
การกระทำ.php
1 2 3 4 5 6 7 | move_uploaded_file($file_tmp, 'ไฟล์/'.$เลขที่); $แบบสอบถาม = mysql_query("แทรกลงในค่าการอัปโหลด(NULL, '$nama')"); ถ้า($แบบสอบถาม){ เสียงสะท้อน 'อัพโหลดไฟล์สำเร็จ'; }อื่น{ เสียงสะท้อน 'ไม่สามารถอัปโหลดภาพ'; } |
นี่คือส่วนสำคัญอัพโหลดไฟล์ด้วย php และ mysqlของเขา. ฟังก์ชันหรือฟังก์ชัน move_uploaded_file() ฟังก์ชันที่จะอัปโหลด หรืออีกนัยหนึ่ง ฟังก์ชันนี้มีหน้าที่รับผิดชอบในการย้ายไฟล์ที่อัพโหลดจากไฟล์ชั่วคราวไปยังโฟลเดอร์ไฟล์ และตั้งชื่อไฟล์ตามที่เราระบุ
การกระทำ.php
1 | move_uploaded_file($file_tmp, 'ไฟล์/'.$เลขที่); |
เพื่อให้เพื่อน ๆ สามารถกำหนดปลายทางของไฟล์ที่อัพโหลดได้ที่นี่ ฉันหมายถึงตำแหน่งที่จะบันทึกไฟล์ที่อัปโหลด เพราะที่นี่เราได้เตรียมโฟลเดอร์ "ไฟล์" เอาไว้เก็บภาพ เราก็เลยไปที่โฟลเดอร์ไฟล์
และสุดท้ายของเราใส่ข้อมูลชื่อไฟล์ที่อัพโหลดลงฐานข้อมูล. ฉันได้พูดคุยถึงบทช่วยสอนเกี่ยวกับวิธีการป้อน/แทรกข้อมูลลงในฐานข้อมูลก่อนหน้านี้ที่ malasngoding.com อ่าน :การสร้าง CRUD ด้วย PHP และ MySQL – การป้อนข้อมูล.
การกระทำ.php
1 | $แบบสอบถาม = mysql_query("แทรกลงในค่าการอัปโหลด(NULL, '$nama')"); |
โอเค เราจะวิ่งตรงไป
อัพโหลดไฟล์รูปภาพด้วย php และ mysql
จากนั้นคลิกอัปโหลด
อัพโหลดไฟล์ด้วย php และ mysql
โอเค เสร็จแล้วนะทุกคน นั่นคือทั้งหมดที่เป็นบทช่วยสอนการอัพโหลดไฟล์ด้วย PHP และ MySQL. แล้วฉันจะทำแบบฝึกหัดวิธีสร้างแอปพลิเคชั่นแกลเลอรี่ภาพด้วย php และ mysqlอยู่ที่ www.malasngoding.com เพื่อรับข้อมูลอัปเดตเกี่ยวกับบทช่วยสอน PHP ล่าสุดและซอร์สโค้ดฟรีสำหรับแอปพลิเคชัน PHP และ MySQL
อ่านเพิ่มเติม:
- การสร้าง CRUD ด้วย PHP และ MySQL – การแสดงข้อมูลจากฐานข้อมูล
- การสร้าง CRUD ด้วย PHP และ MySQL – การป้อนข้อมูล
- การสร้าง CRUD ด้วย PHP และ MySQL แก้ไขข้อมูล
- สร้าง CRUD ด้วย PHP และ MySQL ลบข้อมูล
คำค้นหาที่เข้ามา:
- วิธีอัพโหลดและดาวน์โหลดไฟล์ด้วย php.ini
- cara อัพโหลดไฟล์ php.ini
- อัพโหลดไฟล์ php.ini
- การอัพโหลดรูปภาพ php
- อัพโหลดไฟล์ด้วย php.ini
- https://wwwmalangoding com/create-upload-file-with-php-and-mysql/
- วิธีอัพโหลดไฟล์ด้วย php.ini
- วิธีอัพโหลดรูปภาพใน php.ini
- อัพโหลดไฟล์ด้วย php.ini
- การอัพโหลดรูปภาพ php