Cách di chuyển hình ảnh vào thư mục trong 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 di chuyển hình ảnh vào thư mục trong 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{

bề rộng. 50%;

lề. tự động 20px;

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

}

hình thức{

bề 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;

bề rộng. 280px;

chiều cao. 120px;

}

#img_div{

bề rộng. 70%;

đệm. 5px;

lề. tự động 15px;

biên 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 di chuyển hình ảnh vào thư mục trong 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 di chuyển hình ảnh vào thư mục trong 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 mở khóa. 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 di chuyển hình ảnh vào thư mục trong 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 di chuyển hình ảnh vào thư mục trong 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 di chuyển hình ảnh vào thư mục trong PHP
 

  • Biểu mẫu HTML

Cách di chuyển hình ảnh vào thư mục trong 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ác khóa học trực tuyến miễn phí 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

NameDatePlacePost Chương trình sau đại học về phát triển web toàn ngăn xếp Nhóm bắt đầu vào ngày 19 tháng 1 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 ngăn xếp đầy đủ, SingaporeCohort bắt đầu vào ngày 2 tháng 2 năm 2023,
Weekend batchSingaporeView DetailsPost Graduate Program in Full Stack Web DevelopmentCohort starts on 16th Feb 2023,
Weekend batchYour CityView Details

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

Cách di chuyển hình ảnh vào thư mục trong 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 để di chuyển một hình ảnh vào một thư mục trong PHP?

Hàm move_uploaded_file() và hàm rename() dùng để di chuyển tệp vào một thư mục khác trên máy chủ. Trong trường hợp này, chúng tôi có một tệp đã được tải lên trong thư mục tạm thời của máy chủ từ đó thư mục mới được gán theo phương thức. Tệp tạm thời được di chuyển hoàn toàn đến một vị trí mới.

Làm cách nào để di chuyển một thư mục trong PHP?

Làm cách nào để di chuyển tệp trong PHP? . Hàm đã cho chấp nhận đường dẫn của tệp được yêu cầu, đường dẫn mới của cùng một tệp và ngữ cảnh. Do đó, hàm rename() trả về true hoặc false. use the rename() function to PHP move file from one folder to another. The given function accepts the path of the required file, the new path of the same file, and the context. Consequently, the rename() function returns either true or false.

Làm cách nào để di chuyển tệp bằng PHP?

Hàm move_uploaded_file() của PHP . Ghi chú. Chức năng này chỉ hoạt động trên các tệp được tải lên qua cơ chế tải lên HTTP POST của PHP. Ghi chú. Nếu tệp đích đã tồn tại, nó sẽ bị ghi đè.

Làm cách nào để tải tệp lên thư mục trong PHP?

php $currentDirectory = getcwd();