Cách tải hình ảnh trong PHP

Cảnh báo. Chức năng này không được dùng nữa. Thay vào đó, hãy sử dụng wp_get_image_editor().

wp_load_image( chuỗi   $file  ). nguồn. GdImage. chuỗi

Tải một hình ảnh từ một chuỗi, nếu PHP hỗ trợ nó

nội dung


  • wp_get_image_editor()

$file chuỗi Bắt buộc

Tên tệp của hình ảnh để tải


tài nguyên. GdImage. chuỗi Tài nguyên hình ảnh thu được hoặc phiên bản GdImage nếu thành công, chuỗi lỗi nếu không thành công.


Tập tin. wp-includes/deprecated.php. Xem tất cả tài liệu tham khảo

function wp_load_image( $file ) {
	_deprecated_function( __FUNCTION__, '3.5.0', 'wp_get_image_editor()' );

	if ( is_numeric( $file ) )
		$file = get_attached_file( $file );

	if ( ! is_file( $file ) ) {
		/* translators: %s: File name. */
		return sprintf( __( 'File “%s” does not exist?' ), $file );
	}

	if ( ! function_exists('imagecreatefromstring') )
		return __('The GD image library is not installed.');

	// Set artificially high because GD uses uncompressed images in memory.
	wp_raise_memory_limit( 'image' );

	$image = imagecreatefromstring( file_get_contents( $file ) );

	if ( ! is_gd_image( $image ) ) {
		/* translators: %s: File name. */
		return sprintf( __( 'File “%s” is not an image.' ), $file );
	}

	return $image;
}


UsesUsesDescriptionis_gd_image() wp-includes/media. php

Xác định xem giá trị có phải là loại được chấp nhận cho các chức năng hình ảnh GD hay không

wp_raise_memory_limit() wp-gồm/hàm. php

Nỗ lực tăng giới hạn bộ nhớ PHP cho các quy trình sử dụng nhiều bộ nhớ

get_attached_file() wp-includes/post. php

Truy xuất đường dẫn tệp đính kèm dựa trên ID tệp đính kèm

__() wp-includes/l10n. php

Truy xuất bản dịch của $text

_deprecated_function() wp-gồm/hàm. php

Đánh dấu một chức năng là không dùng nữa và thông báo khi nó đã được sử dụng


ChangelogVersionDescription3. 5. 0 Sử dụng wp_get_image_editor() 2. 1. 0Giới thiệu.

Bạn phải đăng nhập trước khi có thể đóng góp ghi chú hoặc phản hồi

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 tải hình ảnh 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{

chiều rộng. 50%;

lề. tự động 20px;

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

}

mẫu đơn{

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. 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. chặn;

xa lạ. 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 tải hình ảnh 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 tải hình ảnh 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 tải hình ảnh 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 tải hình ảnh 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 tải hình ảnh trong PHP
 

  • Biểu mẫu HTML

Cách tải hình ảnh 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 giá trị mới của các biến này và lưu lại
  • 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

NameDatePlacePost Chương trình sau đại học về Phát triển Web Full Stack Nhóm bắt đầu vào ngày 11 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 Full Stack, SydneyCohort bắt đầu vào ngày 26 tháng 1 năm 2023,
Weekend batchSydneyView DetailsPost Graduate Program in Full Stack Web Development, MelbourneCohort starts on 15th Feb 2023,
Weekend batchMelbourneView Details

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

Cách tải hình ảnh 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 để gọi một hình ảnh trong PHP?

Vì vậy, nếu hình ảnh trong thư mục hoặc thư mục và thư mục con thì hãy đặt mã này src='folderName/SubfolderName/image-name. png' . Đảm bảo rằng bạn hiểu thư mục thư mục và thư mục thư mục con. Tương tự, liệt kê tất cả các hình ảnh trong thư mục và các thư mục con, bạn có thể lấy một hình ảnh và tìm nạp hình ảnh từ một thư mục.

Làm cách nào để hiển thị hình ảnh PNG trong PHP?

Ví dụ 1 − Hiển thị hình ảnh PNG đã tải trong trình duyệt . \xampp\htdocs\Images\img29. $img = imagecreatefrompng('C:\xampp\htdocs\Images\img29. png'); // Nó sẽ hiển thị hình ảnh PNG đã tải trong tiêu đề trình duyệt ('Kiểu nội dung. hình ảnh/png');

Làm cách nào để hiển thị hình ảnh trong trình duyệt bằng PHP?

tiêu đề php ('Loại nội dung. hình ảnh/gif'); . // localhost/no_img. gif');

Làm cách nào để tải ảnh trên PHP?

Chương trình hoàn thành 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. .
Bước 2. Kết nối với cơ sở dữ liệu để chèn tệp hình ảnh