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í Show
Ý 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. 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 phpSau đó, 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 ảnhViệ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
$file = $_FILES['my_file']; $name = $file['name']; $temporary_file = $file['tmp_name']; // temporary path0 $file = $_FILES['my_file']; $name = $file['name']; $temporary_file = $file['tmp_name']; // temporary path1 $file = $_FILES['my_file']; $name = $file['name']; $temporary_file = $file['tmp_name']; // temporary path2 $file = $_FILES['my_file']; $name = $file['name']; $temporary_file = $file['tmp_name']; // temporary path3 $file = $_FILES['my_file']; $name = $file['name']; $temporary_file = $file['tmp_name']; // temporary path4 $file = $_FILES['my_file']; $name = $file['name']; $temporary_file = $file['tmp_name']; // temporary path5 $file = $_FILES['my_file']; $name = $file['name']; $temporary_file = $file['tmp_name']; // temporary path6 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. |