upload_size_limit_filter()
云策文档标注
概述
upload_size_limit_filter() 是一个 WordPress 过滤器函数,用于动态调整允许的最大上传文件大小(以字节为单位)。它通过结合网络设置和可用上传空间来计算最终限制。
关键要点
- 这是一个过滤器函数,用于修改上传文件大小限制。
- 参数 $size 是必需的整数,表示当前上传大小限制(字节)。
- 返回值是整数,表示调整后的上传大小限制(字节)。
- 函数内部使用 get_site_option() 获取网络设置,如 fileupload_maxk 和 upload_space_check_disabled。
- 如果 upload_space_check_disabled 启用,则仅比较 $size 和基于 fileupload_maxk 计算的最大值。
- 否则,还会考虑 get_upload_space_available() 返回的可用上传空间。
- 最终限制是这些值中的最小值。
代码示例
function upload_size_limit_filter( $size ) {
$fileupload_maxk = (int) get_site_option( 'fileupload_maxk', 1500 );
$max_fileupload_in_bytes = KB_IN_BYTES * $fileupload_maxk;
if ( get_site_option( 'upload_space_check_disabled' ) ) {
return min( $size, $max_fileupload_in_bytes );
}
return min( $size, $max_fileupload_in_bytes, get_upload_space_available() );
}注意事项
- 此函数在 WordPress 3.0.0 版本中引入。
- 相关函数包括 get_upload_space_available() 和 get_site_option(),用于检查上传空间和获取网络选项。
- 适用于多站点环境,依赖于网络设置。
原文内容
Filters the maximum upload file size allowed, in bytes.
Parameters
$sizeintrequired-
Upload size limit in bytes.
Source
function upload_size_limit_filter( $size ) {
$fileupload_maxk = (int) get_site_option( 'fileupload_maxk', 1500 );
$max_fileupload_in_bytes = KB_IN_BYTES * $fileupload_maxk;
if ( get_site_option( 'upload_space_check_disabled' ) ) {
return min( $size, $max_fileupload_in_bytes );
}
return min( $size, $max_fileupload_in_bytes, get_upload_space_available() );
}
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |