Tệp xác thực PHP

Tải lên một hình ảnh bằng PHP rất dễ dàng nhưng việc xác thực hợp lệ như xác thực loại hình ảnh là một điều khó khăn. Trong bài đăng này, chúng ta sẽ tìm hiểu cách tải lên một hình ảnh có xác thực loại, chiều rộng, chiều cao và kích thước [MB, Kb] bằng cách sử dụng PHP với mã nguồn miễn phí

  • ✅ Ý tưởng cơ bản về tải lên hình ảnh bằng PHP
  • ✅ Xác thực loại hình ảnh PHP
  • ✅ Xác thực chiều rộng và chiều cao của hình ảnh PHP
  • ✅ Xác thực kích thước hình ảnh PHP [MB, Kb]

Ý tưởng cơ bản về "tải hình ảnh lên bằng PHP"

Trước hết, nếu bạn muốn tải lên một hình ảnh bằng PHP và biểu mẫu HTML thì bạn cần sử dụng action="your-script . Đảm bảo bạn đặt tên thích hợp cho trường nhập liệu của mình.

	Upload File
	
	

Ghi chú. Không có enctype="multipart/form-data" bạn không thể tải tệp lên

Trong tập lệnh php của bạn, bạn cần bắt tệp bằng cách sử dụng biến siêu toàn cục PHP $_FILES. Vì vậy, trước hết hãy lấy tệp và từ tệp, lấy đường dẫn tạm thời và tên thực của tệp

$file 			= $_FILES['my_file'];
$name 			= $file['name'];
$temporary_file = $file['tmp_name']; // temporary path

Ghi chú. Đừng quên lấy tập tin tạm thời

tải lên tệp php

Sau đó, sử dụng hàm move_uploaded_file[] tích hợp trong PHP để tải tệp lên. Hàm này sẽ nhận hai tham số, một là đường dẫn tạm thời của hình ảnh của bạn và một tham số khác là vị trí [có tên tệp] nơi bạn muốn tải lên

	$upload_location 	  = "../upload/"; // targeted location
	$location_with_name   = $upload_location.$name; // like upload/images/my-image.jpg
	
	move_uploaded_file[$temporary_file, $location_with_name];

Ghi chú. Nếu bạn muốn tạo một tên duy nhất cho hình ảnh tải lên của mình, bạn có thể sử dụng hàm PHP time[] khi đổi tên

PHP đặt tên duy nhất trước khi tải lên

$str_to_arry        = explode['.',$name];
$extension          = end[$str_to_arry] // get extension of the file.
$upload_location 	= "../upload/"; // targeted location
$new_name 			= "upload-image-".time[].".".$extension; // new name
$location_with_name = $upload_location.$new_name; // finel new file
move_uploaded_file[$temporary_file, $location_with_name];

Ghi chú. Ở đây chúng tôi đã sử dụng chức năng phát nổ để có được phần mở rộng

PHP lấy phần mở rộng tệp

$str_to_arry    = explode['.',$name];
$extension      = end[$str_to_arry] // get extension of the file.

Ghi chú. ở đây chúng tôi đã sử dụng hàm phát nổ chuỗi PHP [] để lấy phần mở rộng tệp. Nhưng hãy nhớ để phát hiện loại tệp thực tế, bạn cần kiểm tra loại tệp mime

PHP nhận loại tệp mime

$finfo 		= finfo_open[FILEINFO_MIME_TYPE];
$file_type  = finfo_file[$finfo, $temporary_file];

Xác thực loại hình ảnh PHP

Để xác thực loại hình ảnh, bạn có thể sử dụng kỹ thuật kiểm tra phần mở rộng tệp hoặc loại tệp, nhưng chỉ kiểm tra phần mở rộng không phải là cách hợp lệ để xác thực loại tệp hoặc xác thực loại hình ảnh

Giả sử bạn đang cố xác thực một hình ảnh chỉ bằng kỹ thuật kiểm tra phần mở rộng tệp. Giờ ai đó up kiểu khác đi[. md] của tệp [virus hoặc hack] chỉ cần đổi tên loại tệp từ. md để. jpg, trong trường hợp này, xác thực của bạn sẽ không thành công. Vì vậy, không chỉ áp dụng kiểm tra loại tệp

$file_type = $file['type'];
if[$file_type != "jpg" || $file_type != "jpeg"]{
	echo  "This is not an image";
}

Ghi chú. Đừng làm điều này

Vì vậy, cách thực tế để xác thực tệp hoặc hình ảnh của bạn bằng PHP là kiểm tra tệp kiểu MIME. PHP cung cấp chức năng mặc định để kiểm tra tệp Loại MIME

$finfo 	    = finfo_open[FILEINFO_MIME_TYPE];
$file_type  = finfo_file[$finfo, $temporary_file];

if[$file_type != "image/jpeg" || $file_type != "image/png"]{
	echo  "This is not an image";
}

Ghi chú. làm như thế này

Ghi chú. Tải xuống toàn bộ mã nguồn để hiểu rõ hơn

PHP lấy chiều cao và chiều rộng của hình ảnh

Việc kiểm tra chiều rộng và chiều cao của hình ảnh bằng PHP rất dễ dàng, sử dụng hàm getimagesize[] mặc định của PHP chúng ta có thể dễ dàng lấy được chiều rộng và chiều cao của hình ảnh, phương thức này sẽ lấy đường dẫn tạm thời của hình ảnh

________số 8

One should *NOT* upload untrusted files into your web tree, on any server.

$file 			= $_FILES['my_file'];
$name 			= $file['name'];
$temporary_file = $file['tmp_name']; // temporary path
0

$file 			= $_FILES['my_file'];
$name 			= $file['name'];
$temporary_file = $file['tmp_name']; // temporary path
1

$file 			= $_FILES['my_file'];
$name 			= $file['name'];
$temporary_file = $file['tmp_name']; // temporary path
2

$file 			= $_FILES['my_file'];
$name 			= $file['name'];
$temporary_file = $file['tmp_name']; // temporary path
3

$file 			= $_FILES['my_file'];
$name 			= $file['name'];
$temporary_file = $file['tmp_name']; // temporary path
4

$file 			= $_FILES['my_file'];
$name 			= $file['name'];
$temporary_file = $file['tmp_name']; // temporary path
5

$file 			= $_FILES['my_file'];
$name 			= $file['name'];
$temporary_file = $file['tmp_name']; // temporary path
6

Làm cách nào để xác thực một tệp trong PHP?

Mã PHP để xác thực và tải lên tệp hình ảnh . Dữ liệu tệp đã tải lên như kích thước tên, mục tiêu tạm thời nằm trong mảng $_FILES[“image_file”]. Hàm move_uploaded_file trong PHP được sử dụng để tải tệp lên bằng cách truy cập dữ liệu tệp được lưu trữ trong $_FILES superglobal. validate the file type, size and dimension before uploading. The uploaded file data like name size, temporary target are in $_FILES[“image_file”] array. PHP move_uploaded_file function is used to upload the file by accessing file data stored in $_FILES superglobal.

Làm cách nào để xác thực tệp hình ảnh trong PHP?

php if[isset[$_POST['save']]] { //Xác thực hình ảnh if [empty[$_POST["image"]]] { $imageError = "";

Làm cách nào để kiểm tra xem tệp có được tải lên bằng PHP không?

Hàm PHP is_uploaded_file[] .

Xác thực có thể được thực hiện trong PHP không?

Xác thực biểu mẫu là quy trình cần thiết trước khi dữ liệu nhập vào biểu mẫu được gửi tới cơ sở dữ liệu . Điều này được thực hiện để tránh các lỗi không cần thiết. Trong xác thực Biểu mẫu PHP, tập lệnh kiểm tra dữ liệu trong các trường tương ứng dựa trên các quy tắc do nhà phát triển đặt và trả về lỗi nếu không đáp ứng yêu cầu.

Chủ Đề