Lấy kích thước tệp hình ảnh php
Trong hướng dẫn này, tôi sẽ cho bạn biết cách lấy kích thước của hình ảnh bằng PHP. Đoạn mã tôi sắp cho bạn xem sẽ truy xuất chiều cao và chiều rộng của đường dẫn tệp hình ảnh đã cho Show
Có sẵn một hàm PHP sẽ cho bạn biết kích thước của một tệp hình ảnh nhất định. Hàm getimagesize() sẽ trả về một mảng chứa chiều cao và chiều rộng của tệp hình ảnh. Nó cũng sẽ trả về một số thuộc tính khác, nhưng ở đây chúng tôi sẽ chỉ lấy chiều cao và chiều rộng của hình ảnh Hiển thị hình ảnh từ mã base64 trong HTML Nhận dữ liệu quốc gia khi nhấp vào bản đồ – Mã nguồn PHP Giả sử chúng ta muốn lấy kích thước của một hình ảnh image_file. jpg bên trong hình ảnh thư mục. Sau đó, chúng ta cần chuyển tệp vào hàm PHP getimagesize như bên dưới $imgsize_arr = getimagesize('image/image_file.jpg'); Chúng tôi đã lưu trữ dữ liệu mảng đến từ hàm getimagesize bên trong biến $imgsize_arr Nếu chúng tôi muốn xem dữ liệu mảng kích thước thì chúng tôi có thể xem nó bằng cách cung cấp mã mà bạn có thể xem bên dưới echo ""; print_r($imgsize_arr); echo ""; Đoạn mã trên sẽ trả về dữ liệu mảng giống như bên dưới Array ( [0] => 727 [1] => 640 [2] => 2 [3] => width="727" height="640" [bits] => 8 [channels] => 3 [mime] => image/jpeg ) Trong mảng, bạn có thể thấy rằng chiều rộng của hình ảnh có sẵn trong chỉ số 0 và chiều rộng trong chỉ số 1 của mảng Bây giờ, hãy lấy chiều cao và chiều rộng từ mảng $img_width = $imgsize_arr[0]; $img_height = $imgsize_arr[1]; Mã hoàn chỉnh và cuối cùng để hiển thị chiều rộng và chiều cao của hình ảnh một cách đơn giảnDưới đây là mã PHP sẽ hiển thị chiều cao và chiều rộng của hình ảnh trên màn hình Image height:".$img_height; ?> Như bạn có thể thấy rằng đó chỉ là một vài dòng mã có thể dễ dàng truy xuất kích thước của hình ảnh. Nó đơn giản và dễ dàng hơn chúng ta có thể nghĩ. phải không? Tìm kiếm AJAX từ cơ sở dữ liệu MySQL trong ví dụ PHP Bây giờ bạn có thể sử dụng phương pháp này ở bất cứ đâu mà bạn cần biết kích thước của hình ảnh hoặc bạn phải tạo logic của mình dựa trên kích thước của hình ảnh Nếu bạn yêu cầu lấy kích thước tệp bằng php thì bạn có thể thực hiện dễ dàng bằng cách sử dụng filesize() của PHP. Thông thường chúng tôi yêu cầu nhận và kiểm tra trước khi tải lên hình ảnh. Vì vậy, nếu bạn muốn lấy kích thước hình ảnh thì ví dụ dưới đây có thể giúp bạn. Nó sẽ trả về kích thước trên byte Ví dụ
Trong hướng dẫn nhanh này, chúng tôi thiết lập một biểu mẫu HTML cơ bản để tải lên hình ảnh bằng PHP, chúng tôi cũng khám phá cách bảo mật tập lệnh PHP của mình để tập lệnh không bị lạm dụng bởi những người dùng độc hại Thiết lập biểu mẫu tải lên hình ảnhChúng tôi bắt đầu với một hình thức cơ bản Biểu mẫu chứa nút gửi và có thuộc tính $img_width = $imgsize_arr[0]; $img_height = $imgsize_arr[1];8. Thuộc tính hành động trỏ đến trang mà biểu mẫu sẽ đăng tất cả nội dung của nó lên khi nhấp vào nút gửi
Biểu mẫu đăng lên một tệp PHP có tên là $img_width = $imgsize_arr[0]; $img_height = $imgsize_arr[1];9. Tập tin này sẽ xử lý việc tải lên hình ảnh. Chúng tôi sẽ nhận được điều đó trong một phút Để cho phép người dùng chọn tệp, chúng tôi thêm trường nhập tệp
Đồng thời, chúng tôi cũng đã thêm thuộc tính biểu mẫu 0 và đặt nó thành 1. Điều này là cần thiết nếu chúng tôi có trường nhập tệp trong biểu mẫu của mìnhBởi vì chúng tôi chỉ tải lên hình ảnh, chúng tôi thêm thuộc tính 2 vào phần tử đầu vào tệp và đặt nó thành 3 để yêu cầu nó chỉ chấp nhận các tệp có kiểu bắt chước bắt đầu bằng 4, như 5 hoặc 6Hãy viết trình xử lý tải lên hình ảnh PHP tiếp theo Xử lý tải lên hình ảnh PHPChúng tôi sẽ tạo một tệp mới có tên là $img_width = $imgsize_arr[0]; $img_height = $imgsize_arr[1];9 trong cùng thư mục với trang chứa biểu mẫu của chúng tôi Tiếp theo, chúng tôi tạo một thư mục có tên là 8, cũng trong cùng thư mục. Đây là nơi tập lệnh của chúng tôi sẽ lưu trữ các tệp hình ảnh đã tải lên bằng hàm 9echo "7"; print_r($imgsize_arr); echo ""; Đã được thực hiện. Đây là tất cả những gì cần thiết để làm cho nó hoạt động Thật không may, không phải tất cả mọi người trên internet là một vị thánh. Tập lệnh của chúng tôi hiện cho phép mọi người tải lên bất kỳ thứ gì, đây là rủi ro bảo mật. Chúng tôi cần đảm bảo mọi người tải lên hình ảnh hợp lệ và không cố làm hại máy chủ của chúng tôi Bảo mật quá trình tải lên hình ảnhChúng tôi sẽ đảm bảo thêm ba điều này theo thứ tự
Đảm bảo tệp là một hình ảnhHãy bắt đầu bằng cách đảm bảo rằng tệp đã tải lên thực sự là một hình ảnh Sử dụng echo "70, chúng ta có thể lấy kiểu mô phỏng hình ảnh, hàm trả về"; print_r($imgsize_arr); echo ""; echo "71 khi tệp không phải là hình ảnh"; print_r($imgsize_arr); echo ""; Array ( [0] => 727 [1] => 640 [2] => 2 [3] => width="727" height="640" [bits] => 8 [channels] => 3 [mime] => image/jpeg )0 Tiếp theo, chúng tôi cần ngăn người dùng tải lên các tệp rất lớn Giới hạn kích thước tệpTrong ví dụ bên dưới, chúng tôi giới hạn kích thước tệp hình ảnh ở mức 5 MB, tất nhiên bạn có thể chọn giới hạn của riêng mình, nhưng ít nhất nên giới hạn nó ở một điểm nhất định để ngăn người dùng tải lên hàng gigabyte dữ liệu trong nỗ lực tấn công DoS Trong thư mục của tập lệnh $img_width = $imgsize_arr[0]; $img_height = $imgsize_arr[1];9, chúng tôi tạo một tệp echo "73 và đặt nội dung của nó thành như sau"; print_r($imgsize_arr); echo ""; Array ( [0] => 727 [1] => 640 [2] => 2 [3] => width="727" height="640" [bits] => 8 [channels] => 3 [mime] => image/jpeg )2 echo "74 ngăn yêu cầu vượt quá 5 MB, lưu ý rằng yêu cầu này bao gồm các trường khác trong biểu mẫu"; print_r($imgsize_arr); echo ""; Bây giờ, hãy đảm bảo rằng người dùng không thể tải lên tệp 0 byte. Chúng tôi sử dụng echo "75 để đọc kích thước tệp thực tế thay vì dựa vào"; print_r($imgsize_arr); echo ""; echo "76 được báo cáo bởi"; print_r($imgsize_arr); echo ""; echo "77 vì người dùng có thể sửa đổi"; print_r($imgsize_arr); echo ""; Array ( [0] => 727 [1] => 640 [2] => 2 [3] => width="727" height="640" [bits] => 8 [channels] => 3 [mime] => image/jpeg )7 Bây giờ hãy đảm bảo tên tệp của hình ảnh hợp lệ Bảo vệ chống lại tên tệp độc hạiCác tác nhân độc hại có thể thử tải lên một hình ảnh có tên là echo "78, tập lệnh PHP của chúng tôi hiện sẽ lưu trữ “hình ảnh” này trong"; print_r($imgsize_arr); echo ""; echo "79 có thể ghi đè lên tệp"; print_r($imgsize_arr); echo ""; Array ( [0] => 727 [1] => 640 [2] => 2 [3] => width="727" height="640" [bits] => 8 [channels] => 3 [mime] => image/jpeg )00 của chính chúng tôi Chúng tôi có thể cố gắng làm sạch tên tệp hình ảnh, nhưng cách tiếp cận an toàn hơn là tạo tên tệp của riêng chúng tôi Chúng tôi sẽ tạo một số Array ( [0] => 727 [1] => 640 [2] => 2 [3] => width="727" height="640" [bits] => 8 [channels] => 3 [mime] => image/jpeg )01 và sử dụng chúng làm tên cho hình ảnh của chúng tôi $img_width = $imgsize_arr[0]; $img_height = $imgsize_arr[1];2 Bước cuối cùng của chúng tôi là ngăn không cho mã được thực thi trong thư mục Array ( [0] => 727 [1] => 640 [2] => 2 [3] => width="727" height="640" [bits] => 8 [channels] => 3 [mime] => image/jpeg )02 của chúng tôi Ngăn chặn thực thi mã trong thư mục hình ảnhTrong thư mục Array ( [0] => 727 [1] => 640 [2] => 2 [3] => width="727" height="640" [bits] => 8 [channels] => 3 [mime] => image/jpeg )02 của chúng tôi, chúng tôi tạo một tệp echo "73 và đặt nội dung của nó thành như sau để ngăn mọi tệp PHP đã tải lên chạy"; print_r($imgsize_arr); echo ""; Điều này đảm bảo rằng mã PHP trong thư mục này sẽ không thực thi. Vì vậy, nếu ai đó vẫn quản lý để tải lên tệp PHP, chẳng hạn như tệp PHP được ngụy trang dưới dạng hình ảnh, tệp đó vẫn không chạy $img_width = $imgsize_arr[0]; $img_height = $imgsize_arr[1];6 Quy trình tải tệp lên của chúng tôi hiện đã được bảo mật. 🎉 Phần kết luậnChúng tôi đã viết một biểu mẫu cơ bản với phần tử nhập tệp, để xử lý việc tải lên, chúng tôi đã tạo một tệp PHP để di chuyển hình ảnh đã tải lên vào một thư mục trên máy chủ. Để đảm bảo quá trình tải lên, chúng tôi đảm bảo rằng tên tệp hợp lệ, kích thước tệp không quá cao và tệp được tải lên thực sự là một hình ảnh Nếu bạn cũng đang tìm cách thêm chức năng chỉnh sửa hình ảnh vào trường tải tệp lên, bạn có thể sử dụng phần tử Array ( [0] => 727 [1] => 640 [2] => 2 [3] => width="727" height="640" [bits] => 8 [channels] => 3 [mime] => image/jpeg )05. Thành phần web do Pintura hỗ trợ này sẽ tự động mở trình chỉnh sửa hình ảnh mạnh mẽ khi hình ảnh được thêm vào trường và cho phép người dùng của bạn chỉnh sửa hình ảnh trước khi tải lên Làm cách nào để lấy kích thước tệp trong PHP?Để lấy kích thước tệp, chúng tôi sẽ sử dụng hàm filesize() . Hàm filesize() trả về kích thước của tệp theo byte. Hàm này chấp nhận tên tệp làm tham số và trả về kích thước của tệp theo byte nếu thành công và Sai nếu không thành công.
Làm cách nào để lấy kích thước hình ảnh tính bằng KB bằng PHP?$image_link = 'tệp ảnh. jpg'; . Để lấy kích thước tệp hình ảnh, Hàm filesize() của PHP được sử dụng .
Làm cách nào để lấy DPI của hình ảnh trong PHP?PHP. Chức năng phân giải hình ảnh() . Hàm imageresolution() là một hàm có sẵn trong PHP, được sử dụng để đặt và trả về độ phân giải của hình ảnh tính bằng DPI (số chấm trên mỗi inch). Nếu không có tham số tùy chọn nào được cung cấp, độ phân giải hiện tại được trả về dưới dạng một mảng được lập chỉ mục.
Làm cách nào để sửa kích thước hình ảnh trong PHP?Bạn có thể thêm vùng chứa trình bao bọc có chiều rộng trên đó và đặt hình ảnh hiển thị. khối; chiều rộng. 100%; và hình ảnh sẽ luôn lấp đầy khoảng trống. Tôi sẽ chỉnh sửa với giải pháp đó trong thời gian ngắn. Thao tác này sẽ giữ cho hình ảnh có chiều rộng cố định và chia tỷ lệ hình ảnh cho vừa với bên trong hộp khi hình ảnh quá lớn. Lưu câu trả lời này. |