Cách cập nhật hình ảnh trong cơ sở dữ liệu và thư mục bằng php

PHP được sử dụng rộng rãi trong việc phát triển các ứng dụng phía máy chủ. Trên một trang web động, việc tải lên các tệp để cập nhật nó là một thói quen. Và PHP xử lý hiệu quả quá trình này. Bạn có thể sử dụng PHP để xử lý việc tải nhiều tệp lên máy chủ và hiển thị chúng trên một trang web động.  

PHP được sử dụng với hầu hết các phần mềm cơ sở dữ liệu phổ biến. MySQL là một trong những cơ sở dữ liệu phổ biến nhất được sử dụng trong các ứng dụng PHP. Có nhiều cơ sở dữ liệu khác như PostgreSQL, SYBASE, Oracle Database, v.v. có thể dễ dàng kết nối với các ứng dụng PHP của bạn.  

Một hình ảnh có thể được tải lên và hiển thị trên trang web PHP của bạn theo nhiều cách. Phương pháp phổ biến nhất để đạt được điều này là tải hình ảnh lên thư mục của máy chủ và cập nhật tên của nó trong cơ sở dữ liệu. Phương pháp này hiệu quả vì trong trường hợp này, hình ảnh sẽ không chiếm bất kỳ dung lượng nào bên trong cơ sở dữ liệu và điều này cũng sẽ giúp trang web của bạn tải nhanh hơn. Một cách khác là chèn trực tiếp hình ảnh vào cơ sở dữ liệu, thay vì tải nó lên máy chủ. Phương pháp này không được khuyến nghị vì hình ảnh chiếm nhiều dung lượng trong cơ sở dữ liệu, do đó làm tăng kích thước của nó. Điều này cũng sẽ làm chậm quá trình tải trang web của bạn.  

Chương trình sau đại học. Phát triển web đầy đủ ngăn xếp

hợp tác với Caltech CTME Đăng ký ngay

Cách cập nhật hình ảnh trong cơ sở dữ liệu và thư mục bằng php

Trong bài viết này, bạn sẽ xem xét một phương pháp hiệu quả để tải lên hình ảnh trong PHP, bằng cách tải tệp hình ảnh lên thư mục máy chủ và chỉ cần chèn tên tệp vào cơ sở dữ liệu. Tên tệp được sử dụng để truy xuất tệp mong muốn sau này và hiển thị tệp đó trên trang web của bạn. Bạn sẽ sử dụng cơ sở dữ liệu MySQL để minh họa tải lên hình ảnh trong PHP

Các bước sau đây cần được thực hiện để tải lên một hình ảnh và hiển thị nó trên một trang web bằng PHP

  1. Tạo một biểu mẫu bằng HTML để tải lên các tệp hình ảnh
  2. Kết nối với cơ sở dữ liệu để chèn file ảnh

Chương trình để đạt được nhiệm vụ

Bước 1. Tạo biểu mẫu bằng HTML để tải lên tệp hình ảnh

Mã HTML sau đây sẽ tạo một biểu mẫu đơn giản trên trang web của bạn, với tùy chọn “chọn tệp” và một nút để tải tệp đã chọn lên

<. LOẠI TÀI LIỆU html>

<đầu>

Tải ảnh lên bằng PHP

<. liên kết tệp css để tạo kiểu cho biểu mẫu>

        

thuộc tính enctype >

            

        

    

Đoạn mã CSS sau đây dùng để tạo kiểu dáng cơ bản cho biểu mẫu HTML

#vỏ bánh{

chiều rộng. 50%;

lề. tự động 20px;

ranh giới. 2px rắn #dad7d7;

}

hình thức{

chiều rộng. 50%;

lề. tự động 20px;

}

biểu mẫu div{

lề trên. 5px;

}

hình ảnh{

trôi nổi. bên trái;

lề. 5px;

chiều rộng. 280px;

chiều cao. 120px;

}

#img_div{

chiều rộng. 70%;

đệm. 5px;

lề. tự động 15px;

ranh giới. 1px rắn #dad7d7;

}

#img_div. sau đó{

nội dung. "";

trưng bày. khối;

thông thoáng. cả hai;

}

Khóa học mới. Phát triển Full Stack cho người mới bắt đầu

Tìm hiểu Git Command, Angular, NodeJS, Maven và hơn thế nữa Đăng ký ngay

Cách cập nhật hình ảnh trong cơ sở dữ liệu và thư mục bằng php

Bước 2. Kết nối với cơ sở dữ liệu để chèn tệp hình ảnh

Đoạn mã PHP sau sẽ kết nối cơ sở dữ liệu để chèn dữ liệu đã gửi vào cơ sở dữ liệu

error_reporting(0);

?>

$msg = "";

// kiểm tra xem người dùng đã click vào nút "UPLOAD" chưa

if (isset($_POST['tệp tải lên'])) {

$filename = $_FILES["choosefile"]["name"];

$tempname = $_FILES["choosefile"]["tmp_name"];

$folder = "hình ảnh/". tên tệp $;

// kết nối với cơ sở dữ liệu

$db = mysqli_connect("localhost", "root", "", "Image_Upload");

// truy vấn để chèn dữ liệu đã gửi

$sql = "CHÈN VÀO GIÁ TRỊ hình ảnh (tên tệp) ('$tên tệp')";

//hàm thực hiện câu truy vấn trên

mysqli_query($db, $sql);

// Thêm hình ảnh vào thư mục "hình ảnh""

if (move_uploaded_file($tempname, $folder)) {

$msg = "Tải ảnh lên thành công";

}khác{

$msg = "Không thể tải lên hình ảnh";

}

}

$result = mysqli_query($db, "CHỌN * TỪ hình ảnh");

?>

Giải thích chương trình

Chương trình HTML

Chương trình HTML ở trên tạo một biểu mẫu HTML đơn giản có tùy chọn chọn tệp từ hệ thống của bạn để tải lên và nút “TẢI LÊN”. Nó sẽ tải lên tệp hình ảnh bằng phương thức POST

thuộc tính enctype. Thuộc tính này được sử dụng để chỉ định định dạng mã hóa, trong đó dữ liệu được gửi trong biểu mẫu phải được mã hóa trước khi gửi đến máy chủ. Thuộc tính này rất quan trọng và không chỉ định điều này, hình ảnh sẽ không được tải lên máy chủ

cú pháp

enctype="multipart/form-data"

Chương trình PHP

Trước tiên, bạn cần tạo cơ sở dữ liệu bằng máy chủ XAMPP/WAMP. Tại đây, bạn phải tạo một cơ sở dữ liệu và đặt tên là “Image_Upload”. Tiếp theo, bạn cần tạo một bảng mới trong cơ sở dữ liệu. Bạn đã tạo một bảng mới có tên là “Hình ảnh”. Tạo hai trường trong bảng

  • Id – int(11)
  • Tên tệp – varchar(100)

Chương trình PHP đã thảo luận trước đó trước tiên sẽ kết nối với cơ sở dữ liệu bằng phương thức mysqli_connect(). Dữ liệu được gửi bằng phương thức POST ở dạng HTML được lưu trữ trong một biến $filename. Để chèn dữ liệu vào cơ sở dữ liệu, bạn phải áp dụng truy vấn SQL. Phương thức mysqli_query() thực thi truy vấn SQL và cuối cùng lưu trữ dữ liệu đã gửi vào cơ sở dữ liệu

Các phương thức PHP được sử dụng trong chương trình

  • ngay lập tức

Phương thức isset là một phương thức PHP tích hợp cần thiết. Phương pháp này được sử dụng để tìm xem nó có đặt biến hay không. Một biến được gọi là biến tập hợp nếu nó giữ giá trị khác NULL. Nói cách khác, phương thức isset được sử dụng để xác định xem một biến đã được khai báo và có giá trị khác null hay chưa. Nó có kiểu trả về boolean. Nếu nó tìm thấy biến được đặt, phương thức này sẽ trả về true, ngược lại, nó sẽ trả về false

Phương pháp này tỏ ra hữu ích hơn trong các mã dài hơn. Trong các đoạn mã nhỏ, bạn có thể dễ dàng theo dõi những gì và bao nhiêu biến đã được khai báo. Nhưng trong trường hợp các chương trình dài hơn, bạn có thể gặp phải vấn đề mất dấu các biến. Trong những trường hợp như vậy, phương pháp isset rất hữu ích. Bạn có thể chuyển tên của biến mà bạn muốn kiểm tra

Cú pháp kiểm tra trạng thái của biến bằng phương thức isset

ngay lập tức ( hỗn hợp $var1 , hỗn hợp $var2 ,. $vars )

Phương pháp này chấp nhận các tham số hỗn hợp. Các biến hỗn hợp có nghĩa là bạn có thể chuyển một hoặc nhiều biến thuộc các kiểu dữ liệu khác nhau để đặt trong PHP dưới dạng tham số

  • $_POST

$_POST là một phương thức toàn cầu trong PHP được sử dụng để gửi dữ liệu người dùng được gửi dưới dạng HTML từ trình duyệt đến máy chủ web. Đầu tiên, dữ liệu được mã hóa và sau đó được chuyển đến máy chủ thông qua tiêu đề HTTP QUERY_STRING. Là một phương pháp siêu toàn cầu, bạn có thể sử dụng nó ở bất cứ đâu trong toàn bộ chương trình. Phương thức isset cũng có thể được sử dụng với phương thức $_POST để kiểm tra xem người dùng đã gửi giá trị hay chưa.  

Dữ liệu được gửi bằng phương thức $_POST có thể có kích thước bất kỳ. Ngoài ra, phương thức này an toàn vì không giống như phương thức $_GET, dữ liệu là vô hình và không ai có thể truy cập được từ URL. Phương thức này chấp nhận một mảng làm tham số của nó và hỗ trợ nhiều loại dữ liệu như chuỗi, số nguyên và nhị phân.  

Khóa học Full Stack Web Developer

Để trở thành chuyên gia về MEAN Stack Xem khóa học

Cách cập nhật hình ảnh trong cơ sở dữ liệu và thư mục bằng php

  • mysqli_connect

Phương pháp này được sử dụng để kết nối ứng dụng PHP với máy chủ web bằng cách thiết lập kết nối an toàn giữa chúng. Một phương thức khác gọi là mysql_connect cũng thực hiện nhiệm vụ tương tự, nhưng mysqli_connect an toàn hơn và chữ “i” ở đây đại diện cho một phiên bản cải tiến.  

Cú pháp thiết lập kết nối mới bằng phương thức mysqli_connect

mysqli_connect ( "host","username","password","database_name" )

Phương thức này chấp nhận 4 tham số

chủ nhà. Đây là một tham số tùy chọn. Nếu bạn đang sử dụng máy chủ cục bộ, hãy nhập NULL hoặc từ khóa “localhost” để chỉ định rằng kết nối phải được thực hiện với máy chủ web cục bộ

tên tài khoản. Tham số này được sử dụng để chỉ định tên người dùng của MySQL. Đây cũng là một tham số tùy chọn. Nếu bạn đang sử dụng máy chủ cục bộ thì tên người dùng sẽ là “root”

mật khẩu. Tham số này được sử dụng để chỉ định mật khẩu của người dùng trong MySQL. Bạn có thể bỏ qua tham số này vì đây là tham số tùy chọn

tên_của_cơ_sở_dữ_liệu. Tham số này là tên của cơ sở dữ liệu bạn muốn thiết lập kết nối với. Nó sẽ thực hiện tất cả các truy vấn trên cơ sở dữ liệu được chỉ định này. Tham số này cũng là tùy chọn

  • mysqli_query

Phương thức này được sử dụng để thực hiện truy vấn được truyền dưới dạng tham số cho nó. Các truy vấn chèn, chọn, cập nhật và xóa có thể được thực thi bằng phương thức mysqli_query. Nếu các truy vấn được thực hiện thành công, thì phương thức này sẽ trả về một đối tượng hoặc một giá trị boolean TRUE, tùy thuộc vào loại truy vấn được thực hiện

Cú pháp để thực hiện truy vấn MySQL bằng phương thức mysqli_query trong PHP

mysqli_query($kết nối, truy vấn, chế độ)

Phương thức này chấp nhận 3 tham số

sự liên quan. Đây là một tham số bắt buộc và nó đại diện cho đối tượng của máy chủ mà kết nối được thiết lập

truy vấn. Tham số này cũng là bắt buộc và nó đại diện cho chuỗi truy vấn SQL cần được thực thi

cách thức. Đây là một tham số tùy chọn. Nó đại diện cho chế độ của kết quả. Nó là một hằng số và được sử dụng để lưu trữ giá trị trả về của phương thức

  • move_uploaded_file

Phương pháp này được sử dụng để di chuyển một tệp được chỉ định (đã được tải lên) đến một vị trí mới. Phương pháp này trước tiên xác thực tệp đã chỉ định và nếu tệp hợp lệ thì di chuyển tệp đến vị trí đích. Nếu đã có một tệp ở vị trí đích thì tệp đó sẽ bị ghi đè bởi tệp mới

Cú pháp để di chuyển tệp đến một vị trí cụ thể bằng phương thức move_uploaded_file

move_uploaded_file(file_name,destination_path)

Phương thức này chấp nhận 2 tham số

  • tên_tệp. Tham số này là một chuỗi đại diện cho tên của tệp sẽ được chuyển đến một vị trí mới
  • đường dẫn đích. Đây là một chuỗi chỉ định vị trí đích mà tệp cần được di chuyển

Đào tạo chứng chỉ Java MIỄN PHÍ

Tìm hiểu từ A-Z về Java hơn bao giờ hết Đăng ký ngay

Cách cập nhật hình ảnh trong cơ sở dữ liệu và thư mục bằng php

Mã cuối cùng Kết hợp PHP, CSS và HTML

Sau đây là chương trình kết hợp minh họa cách tải lên hình ảnh trong PHP.  

error_reporting(0);

?>

$msg = "";

// kiểm tra xem người dùng đã click vào nút "UPLOAD" chưa

if (isset($_POST['tệp tải lên'])) {

$filename = $_FILES["choosefile"]["name"];

$tempname = $_FILES["choosefile"]["tmp_name"];

$folder = "hình ảnh/". tên tệp $;

// kết nối với cơ sở dữ liệu

$db = mysqli_connect("localhost", "root", "", "Image_upload");

// truy vấn để chèn dữ liệu đã gửi

$sql = "CHÈN VÀO GIÁ TRỊ hình ảnh (tên tệp) ('$tên tệp')";

//hàm thực hiện câu truy vấn trên

mysqli_query($db, $sql);

// Thêm hình ảnh vào thư mục "hình ảnh""

if (move_uploaded_file($tempname, $folder)) {

$msg = "Tải ảnh lên thành công";

}khác{

$msg = "Không thể tải lên hình ảnh";

}

}

$result = mysqli_query($db, "CHỌN * TỪ hình ảnh");

?>

<. LOẠI TÀI LIỆU html>

<. LOẠI TÀI LIỆU html>

<đầu>

Tải ảnh lên bằng PHP

<. liên kết tệp css để tạo kiểu cho biểu mẫu>

         

thuộc tính enctype >

            

        

    

đầu ra

    Khóa học Lập trình viên Java Full Stack

    Hợp tác với HIRIST và HackerEarth KHÓA HỌC KHÁM PHÁ

    Cách cập nhật hình ảnh trong cơ sở dữ liệu và thư mục bằng php

  • Cơ sở dữ liệu mới sử dụng phpMyAdmin

Tên cơ sở dữ liệu. Tải lên hình ảnh

Tên bảng. Hình ảnh

Cách cập nhật hình ảnh trong cơ sở dữ liệu và thư mục bằng php
 

  • Biểu mẫu HTML

Cách cập nhật hình ảnh trong cơ sở dữ liệu và thư mục bằng php

Các bước để vượt quá kích thước của hình ảnh tải lên

Chương trình được mô tả ở trên có thể tải lên tệp có kích thước tối đa 2MB. Đây là kích thước tệp mặc định trong PHP. Giới hạn kích thước này có thể được cập nhật và vượt quá theo lựa chọn của bạn. Để tăng giới hạn kích thước cho tệp tải lên, hãy làm theo các bước được thảo luận bên dưới

  • Vào ổ C mở thư mục có tên WAMP hoặc XAMPP server
  • Nhấp vào “bin” để mở thư mục này
  • Mở thư mục có tên là phiên bản PHP (phiên bản bạn đang sử dụng)
  • Trong thư mục này, tìm kiếm và đi đến “php. ini”
  • Bây giờ tìm kiếm các biến
    • upload_max_size = 100M
    • post_max_filesize = 100M
  • Cập nhật các giá trị mới của các biến này và lưu chúng
  • Bây giờ đi đến con đường này. "C. \wamp64\bin\apache\apache2. 4. 27\bin”
  • Tìm kiếm và đi đến “php. ini” và thực hiện các thay đổi tương tự
  • Lưu các thay đổi
  • Cuối cùng, khởi động lại máy chủ WAMP hoặc XAMPP của bạn
  • Chạy mã của bạn trên máy chủ
Nếu bạn mong muốn đạt được các kỹ năng cần thiết để làm việc trong vai trò CNTT năng động, bổ ích và đầy thử thách - chúng tôi sẽ hỗ trợ bạn. Khám phá những cơ hội vô tận thông qua Chương trình Sau Đại học sáng tạo này trong khóa học Phát triển Web Full Stack được thiết kế bởi các đối tác của chúng tôi tại Caltech CTME. Đăng ký ngay hôm nay

kết thúc

Trong bài viết này, bạn đã học cách tải lên một hình ảnh trong PHP. Bài viết này cũng khám phá các cách khác nhau để tải tệp lên bằng PHP. Bạn đã xem các phương pháp được sử dụng để tải lên hình ảnh trong PHP chuyên sâu. Sau đó bạn xem tiếp các bước tăng giới hạn dung lượng file upload trong PHP. Ngoài ra, bạn cũng tìm hiểu chi tiết các mã cần thiết và kết hợp chúng để có được kết quả mong muốn

Để bắt đầu với PHP, bạn có thể tham khảo video này. Bạn cũng có thể tìm hiểu cách xây dựng các ứng dụng động bằng PHP với sự trợ giúp của khóa đào tạo PHP trọn gói. Khóa học này sẽ cho phép bạn nắm vững về PHP, MySQL, Laravel 4 và các chủ đề thịnh hành khác

Không chỉ dừng lại ở đây. Để tìm hiểu về Phát triển Full-stack và để bạn có cơ hội làm việc cho những gã khổng lồ công nghệ hàng đầu, hãy xem khóa học của chúng tôi về Phát triển Web Full-stack. Trong khóa học này, bạn sẽ học các công nghệ/kỹ năng đầu cuối hoàn chỉnh sẽ giúp bạn đặt chân vào lĩnh vực phát triển web chuyên nghiệp. Chúng bao gồm Java, DevOps, Agility, HTML, AWS, v.v.

Kiểm tra danh sách đầy đủ của Simplilearn

Nếu bạn có bất kỳ câu hỏi nào cho chúng tôi, hãy đề cập đến chúng trong phần bình luận và các chuyên gia của chúng tôi sẽ giải đáp cho bạn

học tập vui vẻ

Tìm Chương trình sau đại học của chúng tôi trong Chương trình đào tạo trực tuyến về phát triển web Full Stack tại các thành phố hàng đầu

Chương trình Sau đại học NameDatePlace trong Nhóm phát triển Web Full Stack bắt đầu vào ngày 16 tháng 2 năm 2023,
Đợt cuối tuầnChi tiết CityView của bạnChương trình sau đại học về Phát triển Web Full Stack, SingaporeCohort bắt đầu vào ngày 1 tháng 3 năm 2023,
Đợt cuối tuầnSingaporeXem chi tiếtChương trình sau đại học về Phát triển web ngăn xếp đầy đủNhóm bắt đầu vào ngày 15 tháng 3 năm 2023,
Lô hàng cuối tuầnChi tiết CityView của bạn

Giới thiệu về tác giả

Cách cập nhật hình ảnh trong cơ sở dữ liệu và thư mục bằng php
Ravikiran AS

Ravikiran A S làm việc với Simplilearn với tư cách là Nhà phân tích nghiên cứu. Anh ấy là một người đam mê nhiệt tình, luôn săn lùng những công nghệ mới nhất. Anh ấy thành thạo Ngôn ngữ lập trình Java, Dữ liệu lớn và các Khung dữ liệu lớn mạnh mẽ như Apache Hadoop và Apache Spark

Làm cách nào để cập nhật hình ảnh vào cơ sở dữ liệu và hiển thị nó bằng PHP?

Chọn tên hoặc đường dẫn của hình ảnh mà bạn đã lưu trữ trong bảng cơ sở dữ liệu và sử dụng nó trong nguồn hình ảnh. ? php $sql = "chọn tên từ hình ảnh có id=1"; . .

Làm cách nào để tải lên hình ảnh trong cơ sở dữ liệu và thư mục bằng PHP?

Tạo biểu mẫu HTML .
<. LOẠI TÀI LIỆU html>
Chọn hình ảnh để tải lên
.
.

Làm cách nào để chỉnh sửa hình ảnh trong cơ sở dữ liệu bằng PHP?

Chỉnh sửa hình ảnh bằng cơ sở dữ liệu PHP và MYSQL – .
Tìm nạp một hình ảnh cũ từ cơ sở dữ liệu với id hàng
Xóa hình ảnh khỏi cơ sở dữ liệu khi ai đó muốn cập nhật hình ảnh mới trên nút bấm
Di chuyển hình ảnh mới vào cùng một thư mục
Cập nhật tên hình ảnh bằng truy vấn cập nhật trong PHP

Làm cách nào để tải lên hình ảnh trong cơ sở dữ liệu SQL bằng PHP?

Nhận phần mở rộng tệp bằng hàm pathinfo() trong PHP và xác thực định dạng tệp để kiểm tra xem người dùng có chọn tệp hình ảnh hay không. Tải hình ảnh lên máy chủ bằng hàm move_uploaded_file() trong PHP. Chèn tên tệp hình ảnh vào cơ sở dữ liệu MySQL bằng PHP . Trạng thái tải lên sẽ được hiển thị cho người dùng.