การอัพโหลดไฟล์ด้วย PHP และ MySQL - Lazy Ngoding (2023)

การอัพโหลดไฟล์ด้วย PHP และ MySQL– การอัพโหลดไฟล์ถือเป็นสิ่งที่สำคัญที่สุดอย่างหนึ่งสร้างแอปพลิเคชัน. โดยเฉพาะแอปพลิเคชันบนเว็บ. เพราะบางครั้งเราต้องทำทำการอัพโหลดไฟล์มันสามารถแสดงได้อัพโหลดไฟล์รายงาน, หรืออาจจะอัพโหลดไฟล์ภาพเช่นเดียวกับในเฟสบุ๊คตัวอย่างของเขา บน facebook มีฟีเจอร์สำหรับอัพโหลดรูปภาพเพื่อใช้เป็นรูปโปรไฟล์. และตัวอย่างการใช้งานต้องมีอย่างอื่นอยู่คุณสมบัติการอัพโหลดไฟล์มันคือแอปพลิเคชันการจัดการไฟล์เก็บถาวร. ตัวอย่างเช่นการจัดการบันทึกสำนักงาน. โดยสามารถอัพโหลดข้อมูล PDF หรือเอกสารอื่น ๆ เพื่อเก็บถาวรได้

ในบทช่วยสอนนี้ ฉันจะแบ่งปันบทช่วยสอนวิธีการการอัพโหลดไฟล์ด้วย PHP และ MySQL. และบันทึกข้อมูลภาพลงฐานข้อมูล ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีอัปโหลดไฟล์ด้วย php จากนั้นเราจะจัดเก็บชื่อไฟล์ไว้ในฐานข้อมูล

การเตรียมตัวอัพโหลดไฟล์ด้วย PHP

สำหรับการเตรียมตัว สิ่งที่เพื่อนๆต้องทำมีดังนี้ ทำมัน:

  • ดัชนี.php
  • การกระทำ.php
  • การเชื่อมต่อ.php
  • โฟลเดอร์ไฟล์เบอร์นามา

การอัพโหลดไฟล์ด้วย PHP และ MySQL - Lazy Ngoding (1)

อัพโหลดไฟล์ด้วย 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. ดูองค์ประกอบแบบฟอร์มด้านบน

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 - Lazy Ngoding (2)

อัพโหลดไฟล์รูปภาพด้วย php และ mysql

จากนั้นคลิกอัปโหลด

การอัพโหลดไฟล์ด้วย PHP และ MySQL - Lazy Ngoding (3)

อัพโหลดไฟล์ด้วย 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

References

Top Articles
Latest Posts
Article information

Author: Van Hayes

Last Updated: 07/16/2023

Views: 5822

Rating: 4.6 / 5 (66 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Van Hayes

Birthday: 1994-06-07

Address: 2004 Kling Rapid, New Destiny, MT 64658-2367

Phone: +512425013758

Job: National Farming Director

Hobby: Reading, Polo, Genealogy, amateur radio, Scouting, Stand-up comedy, Cryptography

Introduction: My name is Van Hayes, I am a thankful, friendly, smiling, calm, powerful, fine, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.