Hướng dẫn how can i upload image in php? - Làm cách nào tôi có thể tải lên hình ảnh 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, tải lên các tệp để cập nhật nó là một thói quen. Và PHP hiệu quả xử lý quá trình này. Bạn có thể sử dụng PHP để xử lý việc tải lên nhiều tệp lên máy chủ và hiển thị chúng trên một trang web động. & NBSP;

PHP được sử dụng với hầu hết tất cả 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. & NBSP;

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à bằng cách tải hình ảnh vào thư mục 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 có hiệu quả bởi vì trong trường hợp này, hình ảnh won đã chiếm bất kỳ khoảng trống nào bên trong cơ sở dữ liệu và điều này cũng sẽ làm cho tải trang web của bạn nhanh hơn. Một cách khác là chèn hình ảnh vào cơ sở dữ liệu trực tiếp, thay vì tải nó lên máy chủ. Phương pháp này không được khuyến nghị vì các hình ảnh chiếm rất nhiều không gian 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 việc tải các trang web của bạn. & NBSP;

Trong bài viết này, bạn sẽ xem xét một phương thức hiệu quả để đạt được hình ảnh tải lên trong PHP, bằng cách tải tệp hình ảnh vào 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ị nó trên trang web của bạn. Bạn sẽ sử dụng cơ sở dữ liệu MySQL để chứng minh tải lên hình ảnh trong PHP.

Các bước sau đây cần được tuân thủ để tải lên hình ảnh và hiển thị nó trên 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 tệp hình ả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 các 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 lên tệp đã chọn.

& nbsp; & nbsp; & nbsp; & nbsp; tải lên hình ảnh trong PHP

    

    

    

        

& nbsp; & nbsp; & nbsp; & nbsp; tải lên hình ảnh trong PHP

                

            

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

                

                UPLOAD

                

            

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

    

& nbsp; & nbsp; & nbsp; & nbsp; tải lên hình ảnh trong PHP

#wrapper{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

Mã CSS sau đây là để tạo kiểu dáng cơ bản cho mẫu HTML.

form{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

Mã CSS sau đây là để tạo kiểu dáng cơ bản cho mẫu HTML.

& nbsp; & nbsp; & nbsp; & nbsp; chiều rộng: 50%;

& nbsp; & nbsp; & nbsp; & nbsp; lề: 20px tự động;

Mã CSS sau đây là để tạo kiểu dáng cơ bản cho mẫu HTML.

img{

& nbsp; & nbsp; & nbsp; & nbsp; chiều rộng: 50%;

& nbsp; & nbsp; & nbsp; & nbsp; lề: 20px tự động;

& nbsp; & nbsp; & nbsp; & nbsp; biên giới: 2px solid #DAD7D7;

}

Mã CSS sau đây là để tạo kiểu dáng cơ bản cho mẫu HTML.

#img_div{

& nbsp; & nbsp; & nbsp; & nbsp; chiều rộng: 50%;

& nbsp; & nbsp; & nbsp; & nbsp; lề: 20px tự động;

& nbsp; & nbsp; & nbsp; & nbsp; biên giới: 2px solid #DAD7D7;

}

Mã CSS sau đây là để tạo kiểu dáng cơ bản cho mẫu HTML.

#img_div:after{

& nbsp; & nbsp; & nbsp; & nbsp; chiều rộng: 50%;

& nbsp; & nbsp; & nbsp; & nbsp; lề: 20px tự động;

& nbsp; & nbsp; & nbsp; & nbsp; biên giới: 2px solid #DAD7D7;

Mã CSS sau đây là để tạo kiểu dáng cơ bản cho mẫu HTML.

& nbsp; & nbsp; & nbsp; & nbsp; chiều rộng: 50%;

& nbsp; & nbsp; & nbsp; & nbsp; lề: 20px tự động;

error_reporting(0);

& nbsp; & nbsp; & nbsp; & nbsp; tải lên hình ảnh trong PHP

& nbsp; & nbsp; & nbsp; & nbsp; tải lên hình ảnh trong PHP

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

Mã CSS sau đây là để tạo kiểu dáng cơ bản cho mẫu HTML.

& nbsp; & nbsp; & nbsp; & nbsp; chiều rộng: 50%;

& nbsp; & nbsp; & nbsp; & nbsp; lề: 20px tự động;

& nbsp; & nbsp; & nbsp; & nbsp; biên giới: 2px solid #DAD7D7;

}

biểu mẫu div {

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

        }else{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

    }

}

$ 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 ra một biểu mẫu HTML đơn giản có tùy chọn để chọn một tệp từ hệ thống của bạn để tải lên và nút tải lên trên mạng. 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

Đầu tiên, bạn cần tạo cơ sở dữ liệu bằng máy chủ XAMPP/WAMP. Ở đây, bạn phải tạo một cơ sở dữ liệu và đặt tên cho nó là Image 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 được thảo luận trước đó 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 trong biểu mẫu HTML được lưu trữ trong một tên tệp $ biến. Để 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 được gửi vào cơ sở dữ liệu.

Phương pháp PHP được sử dụng trong chương trình

  • isset 

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

Phương pháp này chứng tỏ là 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à có 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ể phải đối mặt với vấn đề mất dấu của các biến. Trong những trường hợp như vậy, phương pháp ISSET rất hữu ích. & NBSP; Bạn có thể vượt qua 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 một biến bằng phương pháp ISSET:

ISSET (hỗn hợp $ var1, hỗn hợp $ var2, & nbsp; ... $ 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ể truyền một hoặc nhiều biến của các loại dữ liệu khác nhau cho isset 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 vào biểu mẫu HTML từ trình duyệt đến máy chủ web. Dữ liệu được mã hóa trước tiên và sau đó được chuyển đến máy chủ thông qua tiêu đề HTTP Query_String. Là một phương pháp Superglobal, bạn có thể sử dụng bất cứ nơi nào 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 có gửi giá trị hay không. & NBSP;

Dữ liệu được gửi bằng phương thức $ _POST có thể có bất kỳ kích thước nào. Ngoài ra, phương pháp này được bảo mật vì, không giống như phương thức $ _GET, dữ liệu là vô hình và không thể được truy cập bởi bất kỳ ai 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. & Nbsp;

  • 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 pháp khác được gọi là mysql_connect cũng thực hiện cùng một nhiệm vụ, nhưng mysqli_connect an toàn hơn và ở đây, tôi thể hiện một phiên bản cải tiến. & Nbsp;

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

mysqli_connect ("host", "tên người dùng", "mật khẩu", "cơ sở dữ liệu_name")

Phương pháp này chấp nhận 4 tham số:

Máy chủ: Đây là một tham số tùy chọn. Nếu bạn đang ở trên một máy chủ cục bộ, thì hãy vượt qua 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 người dùng: 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 ở trên một máy chủ cục bộ, thì tên người dùng sẽ là Root 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ì nó là một tham số tùy chọn.

name_of_database: 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. 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 pháp 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 thi thành công, thì phương thức này sẽ trả về một đối tượng hoặc giá trị boolean true, tùy thuộc vào loại truy vấn được thực thi.

Cú pháp để thực thi truy vấn MySQL bằng phương thức MySQLI_Query trong PHP:

MySQLI_Query ($ Connection, Truy vấn, Chế độ)

Phương pháp này chấp nhận 3 tham số:

Kết nối: Đâ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.

Chế độ: Đâ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) lên một vị trí mới. Phương thức này trước tiên xác thực tệp được chỉ định và nếu nó hợp lệ, thì hãy di chuyển nó đến vị trí đích. Nếu đã có một tệp ở vị trí đích, thì nó sẽ bị ghi đè bởi tệp mới.

Cú pháp để di chuyển một 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 pháp này chấp nhận 2 tham số:

  • FILE_NAME: 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.
  • Destination_path: Đây là một chuỗi chỉ định vị trí đích nơi cần di chuyển tệp.

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 được hình ảnh tải lên trong PHP. & NBSP;

error_reporting(0);

?>

?>

$ msg = "";

// Kiểm tra xem người dùng đã nhấp vào nút "Tải lên" & NBSP;

if (isset ($ _ post ['uploadFile'])) {

& nbsp; & nbsp; & nbsp; $ filename = $ _files ["selectfile"] ["name"];

& nbsp;

& nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; // Kết nối với cơ sở dữ liệu

& nbsp;

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

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; // Chức năng thực thi truy vấn trên

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

        }else{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

    }

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

}

?> 

 

 

?>

$ msg = "";

    

  

        #wrapper{

// Kiểm tra xem người dùng đã nhấp vào nút "Tải lên" & NBSP;

if (isset ($ _ post ['uploadFile'])) {

& nbsp; & nbsp; & nbsp; $ filename = $ _files ["selectfile"] ["name"];

        }

        form{

// Kiểm tra xem người dùng đã nhấp vào nút "Tải lên" & NBSP;

if (isset ($ _ post ['uploadFile'])) {

        }

& nbsp; & nbsp; & nbsp; $ filename = $ _files ["selectfile"] ["name"];

& nbsp;

        }

        img{

& nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; // Kết nối với cơ sở dữ liệu

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;}

        #img_div{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;}

        #img_div:after{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

        }

    

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

 

    

         

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

         

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

            

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

                UPLOAD

                

            

        

    

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

  • & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

Table name: Image

Image_Upload_PHP_1 

  • & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

Image_Upload_PHP_2.

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

  • & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
  • Đầu ra
  • Cơ sở dữ liệu mới sử dụng phpmyadmin.
  • Tên cơ sở dữ liệu: Image_upload
  • Tên bảng: Hình ảnh
    • Hình thức HTML.
    • Các bước để vượt quá kích thước tải lên hình ảnh
  • Chương trình được mô tả ở trên có thể tải lên một tệp có kích thước lên tới 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 để tải lên tệp, hãy làm theo các bước được thảo luận dưới đây:
  • Chuyển đến ổ C và mở thư mục có tên WAMP hoặc XAMPP Server.
  • Nhấp vào trên Bin 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à truy cập vào php.ini.
  • Bây giờ tìm kiếm các biến:
& nbsp; 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ấm C: \ Wamp64 \ bin \ Apache \ Apache2.4.27 \ bin.

Tìm kiếm và truy cập vào 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ủ.

Làm thế nào tôi có thể tải lên một hình ảnh từ một URL trong PHP?

Nếu URL thích hợp thì bằng cách sử dụng hàm file_get_contents () sẽ đọc tệp hình ảnh thành một chuỗi. Và cuối cùng bằng cách sử dụng hàm file_get_contents (), chúng ta có chuỗi hình ảnh ghi vào một tệp. Vì vậy, bằng cách này, chúng tôi có hình ảnh tải lên từ URL bằng cách sử dụng PHP với AJAX.by using file_get_contents() function reads a image file into a string. And lastly by using file_get_contents() function, we have write image string to a file. So this way we have upload image from URL by using PHP with Ajax.

Làm thế nào có thể hiển thị tệp được tải lên trong PHP?

Trong PHP, chúng ta có thể truy cập tên thực tế của tệp mà chúng ta đang tải lên bởi từ khóa $ _FILES [Tệp File] [Tên Tên].$ _Files là từ khóa mặc định trong PHP để truy cập các chi tiết của các tệp mà chúng tôi đã tải lên.Tệp đề cập đến tên được xác định trong chỉ mục trên mạng.Hình thức HTML trong đầu vào của tệp.by keyword $_FILES[“file”][“name”]. The $_FILES is the by default keyword in PHP to access the details of files that we uploaded. The file refers to the name which is defined in the “index. html” form in the input of the file.

Chúng ta có thể vẽ hình ảnh bằng PHP không?

Ngày 21 tháng 2 năm 2022. PHP có thể được sử dụng để tạo và điều khiển các yếu tố đồ họa một cách độc lập.Do đó, phạm vi và khả năng xử lý đồ họa PHP rất mạnh.Nó thực hiện điều này với sự trợ giúp của thư viện GD, hiện đang hỗ trợ các định dạng hình ảnh trong JPEG, PNG, GIF và WBMP.PHP can be used to create and manipulate graphical elements independently. Therefore, the scope and capabilities of PHP graphic handling are very powerful. It does this with the aid of the GD library, which currently supports image formats in jpeg , png , gif , and wbmp .

Chúng ta có thể tải lên một tệp có kích thước bất kỳ ứng dụng PHP nào không?

Theo mặc định, kích thước tải lên tệp PHP được đặt thành tệp 2MB tối đa trên máy chủ, nhưng bạn có thể tăng hoặc giảm kích thước tối đa của tải lên tệp bằng tệp cấu hình PHP (php.ini), tệp này có thể được tìm thấy ở các vị trí khác nhau trên các vị trí khác nhau trên các vị trí khác nhauPhân phối Linux.you can increase or decrease the maximum size of file upload using the PHP configuration file ( php. ini ), this file can be found in different locations on different Linux distributions.