如何在Wordpress中限制特定文件类型的最大上传文件大小



>我对作者有问题。他们总是上传大图像。

我想将最大上传大小设置为 500Kb,但仅适用于图像,因为他们上传的 PDF 大于 500Kb

例如,我想设置 jpg|png 最大 500Kb 和 pdf|mp3 最大 5Mb。

我尝试在许多网站上搜索解决方案,但没有希望。

对不起,我的英语不好。谢谢。。。

您可以在浏览器或服务器上执行此操作,但方法完全不同(您可能必须同时执行此操作,尤其是在浏览器中禁用JavaScript的情况下(。

HTML5 Rocks 文章描述了如何使用 JavaScript 和 FileReader 对象来获取有关文件的信息 (https://www.html5rocks.com/en/tutorials/file/dndfiles/(。这可用于检查文件扩展名和文件大小并采取适当的行动。

在Web服务器端,您需要查看php手册 https://www.php.net/manual/en/features.file-upload.php 以获取有关上传文件的所有信息。

请注意,服务器只有在完全上传到服务器后才会知道扩展名和大小 - 在产生错误之前浪费上传者的时间。

我会把这个答案放在这里,因为谷歌把这个问题作为最重要的结果。

function my_max_image_size( $file ) {
  $size = $file['size'];
  $size = $size / 1024;
  $type = $file['type'];
  $is_image = strpos( $type, 'image' ) !== false;
  $limit = 750;
  $limit_output = '750kb';
  if ( $is_image && $size > $limit ) {
    $file['error'] = 'Image files must be smaller than ' . $limit_output;
  }
  return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'my_max_image_size' );

最新更新