Bộ lọc Media ngăn tải lên những hình ảnh có dung lượng và kích thước lớn
  1. Home
  2. Phần mềm
  3. Bộ lọc Media ngăn tải lên những hình ảnh có dung lượng và kích thước lớn
Nguyễn Văn Luyến Nguyễn Văn Luyến 4 năm trước

Bộ lọc Media ngăn tải lên những hình ảnh có dung lượng và kích thước lớn

Nếu bạn sử dụng WordPress, thì bạn sẽ biết rằng WordPress cho phép bạn tải lên những hình ảnh có dung lượng rất lớn tối đa là 2GB và kích thước có khi đến 4K. Tuy nhiên không phải ai cũng có nhu cầu để sử dụng những hình ảnh có dung lượng và kích thước lớn đến như vậy, và hơn nữa sẽ rất lãng phí tài nguyên hệ thống. Để ngăn chặn chính bạn và người dùng tải lên những hình ảnh có kích thước và dung lượng lớn, thì dưới đây là một giải pháp khá là hiệu quả mà mình đã áp dụng, vậy nên mình chia sẻ cho mọi người cùng biết.

Bạn chỉ cần sao chép đoạn code bên dưới và dán vào file function.php trong thư mục theme mà bạn đang sử dụng là xong.

// chi cho phep tai len file duoi 1MB va rong toi da 2500px
function my_max_image_size( $file ) {
$fileinfo = @getimagesize($file["tmp_name"]);
$width = $fileinfo[0];
$size = $file['size'];
$size = $size / 1024;
$type = $file['type'];
$is_image = strpos( $type, 'image' ) !== false;
$limit = 1500;
$limit_output = '1.5MB hoặc kích thước chiều rộng quá 2500PX ';
if ( $is_image && $size > $limit || $width > "2500") {
$file['error'] = 'Không được phép tải lên ảnh dụng lượng vượt quá ' . $limit_output;
}
return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'my_max_image_size' );

$limit = 1500; Bạn có thể thay đổi dung lượng tối đa có thể tải lên qua dòng lệnh này.
$width > “2500” Thay đổi kích thước tối đa của hình ảnh có thể tải lên qua lệnh này.

Đây chính là thông báo khi bạn hoặc người dùng cố gắng tải lên hình ảnh vượt quá bộ lọc cho phép.

Giải pháp bộ lọc khác với chức năng tương tự

Ngoài bộ lọc ở trên, thì bạn cũng có thể sử dụng bộ lọc bên dưới này, và nó cũng có chức năng là ngăn chặn bạn hoặc người dùng tải lên những hình ảnh có dung lượng vượt quá quy định.

// han che tai len file lơn hơn 1MB 
add_filter( 'upload_size_limit', 'wpse_228300_change_upload_size' );
function wpse_228300_change_upload_size()
{
return 1000 * 1500;
}

return 1000 * 1500; Bạn có thể thay đổi dung lượng tối đa có thể tải lên qua dòng lệnh này.
Tuy nhiên với bộ lọc này thì nó lại không có chức năng ngăn chặn bạn hoặc người dùng tải lên những hình ảnh có kích thước lớn.

Ngăn chặn người dùng tải lên những file không phải là hình ảnh và giới hạn số lượng hình ảnh trong mỗi bài viết được phép tải lên

Bộ lọc này cho phép bạn ngăn chặn người dùng tải lên những file không phải là hình ảnh, và giới hạn số lượng hình ảnh mà người dùng được phép tải lên ở mỗi bài viết. Bạn sao chép đoạn code bên dưới và dán vào file function.php trong thư mục theme mà bạn đang sử dụng là xong.

// chi cho phep tai len các file hinh anh
add_filter('wp_handle_upload_prefilter', 'yoursite_wp_handle_upload_prefilter');
function yoursite_wp_handle_upload_prefilter($file) {
if ($file['type']=='application/octet-stream' && isset($file['tmp_name'])) {
$file_size = getimagesize($file['tmp_name']);
if (isset($file_size['error']) && $file_size['error']!=0) {
$file['error'] = "Unexpected Error: {$file_size['error']}";
return $file;
} else {
$file['type'] = $file_size['mime'];
}
}
list($category,$type) = explode('/',$file['type']);
if ('image'!=$category || !in_array($type,array('jpg','jpeg','gif','png'))) {
$file['error'] = "Xin lỗi bạn chỉ có thể tải lên file ảnh định dạng .GIF, .JPG, hay .PNG";
} else if ($post_id = (isset($_REQUEST['post_id']) ? $_REQUEST['post_id'] : false)) {
if (count(get_posts("post_type=attachment&post_parent={$post_id}"))>20)
$file['error'] = "Xin lỗi, bạn không thể tải lên nhiều hơn 20 hình ảnh.";
}
return $file;
}

{$post_id}”))>20 Đặt số lượng hình ảnh được phép tải lên ở mỗi bài viết qua lệnh này.

Nguồn: //caodem.com/bo-loc-media-ngan-tai-len-nhung-hinh-anh-co-dung-luong-va-kich-thuoc-lon/

8 lượt xem | 0 bình luận
Luôn luôn lắng nghe, lâu lâu mới hiểu

Bình luận gần đây

//rongcon.net
Nguyễn Văn Luyến 6 tháng trước
Ưng dụng này rất hay cho người hay thực hiện các biểu mâu, thư mời,...
//rongcon.net
Nguyễn Văn Luyến 6 tháng trước
Chuẩn bị lại lên giá
//rongcon.net
Chuyển Đổi Số 11 tháng trước
Có trang nguồn mình tải á, bạn qua trang đó xem thử. Mình cài được bình thường á
//rongcon.net
Chuyển Đổi Số 11 tháng trước
Mỉnh cũng thấy cái gì hay hay lưu lại trên trang cá nhân khi nào cần lấy ra dùng thôi à. Cảm ơn bạn nhiều!
//rongcon.net
quang tuấn 11 tháng trước
ok cám ơn add
//rongcon.net
Đàm kiên 1 năm trước
sao không thấy hướng dẫn khắc phục lỗi the macro vậy
//rongcon.net
Đàm kiên 1 năm trước
file tải về chỉ có 3 file hướng dẫn chứ không có file cài đặt nhé
//rongcon.net
Nguyễn Văn Luyến 1 năm trước
Bài viết hay
ZaloMessengerEmail
Đồng ý Cookie
Trang web này sử dụng Cookie để nâng cao trải nghiệm duyệt web của bạn và cung cấp các đề xuất được cá nhân hóa. Bằng cách chấp nhận để sử dụng trang web của chúng tôi