Como reduzir o tamanho máximo do arquivo de upload?

4

No meu site, há muitos autores que podem publicar postagens, mas alguns deles estão enviando imagens maiores que 1 milhão, e eu quero reduzir o tamanho máximo do upload para 500 kb.

    
por AboSami 15.02.2011 / 07:16

1 resposta

6

Você pode proibir uploads de um tamanho específico (ou por outros motivos) no gancho wp_handle_upload_prefilter usado no wp_handle_upload() function .

Obtém-se a matriz de arquivos passada, é um item único em o padrão PHP superglobal $_FILES um que está documentado no Manual do PHP: Upload do método POST .

Basta criar uma função e adicioná-la ao filtro. Dentro do seu hook, verifique o tamanho do arquivo e defina $file['error'] para sua mensagem de erro como "Arquivos maiores que X bytes são impedidos de uploads".

add_filter('wp_handle_upload_prefilter', function($file) {
    $size = $file['size'];
    if ($size > 500 * 1024) {
       $file['error'] = '"Files larger than X bytes are prevented from uploads.';
    }
    return $file;
});

Esse método não permite tecnicamente o upload, o que significa que seu servidor ainda está recebendo os dados de upload do arquivo do navegador do usuário. É jogado fora depois.

Para evitar uploads de determinado tamanho no nível do servidor, você precisa configurar o servidor de acordo com o que depende do que você usa.

    
por hakre 15.02.2011 / 11:18

Tags