如何减小文件上传大小?

时间:2014-10-02 作者:Steven

当前文件上载大小限制为128MB。我想把它减少到1MB。我没有访问php的权限。ini文件。我确实可以访问。htaccess和我可以use this solution.

但是为什么没有一种方法可以在functions.php 文件

**更新**

So this, over at Stackoverflow, 基本上说明了原因:

通过ini\\U set设置时,这些设置不会产生任何效果

原因是PHP在执行脚本之前需要这些值。当上传发生时,目标脚本将在上传完成时执行,因此PHP需要事先知道最大大小。

在php中设置它们。ini、虚拟主机配置或中的。htaccess文件。典型的。htaccess文件如下所示

php_value post_max_size 30M
php_value upload_max_filesize 30M

所以问题仍然存在;有没有办法在WP中设置最大上载大小functions.php?

3 个回复
最合适的回答,由SO网友:Christine Cooper 整理而成

当然,你可以简单地upload_size_limit 并设置最大文件大小:

// Change the upload size to 1MB
add_filter( \'upload_size_limit\', \'wpse_163236_change_upload_size\' ); 
function wpse_163236_change_upload_size()
{
    return 1000 * 1024;
}

SO网友:Nicolai Grossherr

您可以通过wp_handle_upload_prefilter, 哪里

单个参数,$file, 表示的单个元素$_FILES 大堆

下面的代码只是示例性的,但您会明白重点。

add_filter(
    \'wp_handle_upload_prefilter\',
    \'wpse163236_restrict_upload_file_size\'
);
function wpse163236_restrict_upload_file_size( $file ){
    $file_size  = $file[ \'size\' ];
    $size_limit = \'1024000\';
    if ( $size_limit < $file_size ) {
        $file[ \'error\' ] = \'File Size Over: \' . $size_limit;
    }
    return $file;
}

SO网友:Mark Kaplun

不,没有办法在不访问php的情况下减少文件大小。ini或。htaccess对您的报价解释得很好。

无需访问php即可做到最好。正如拉洛金的回答所示,ini将忽略该文件

结束