Comment réduire la taille maximale du fichier de téléchargement?

4

Sur mon site Web, de nombreux auteurs peuvent publier des articles, mais certains d'entre eux téléchargent des images d'une taille supérieure à 1 Mo. Je souhaite réduire la taille maximale de l'envoi à 500 ko.

    
posée AboSami 15.02.2011 - 07:16

1 réponse

6

Vous pouvez interdire les chargements d'une taille spécifique (ou pour d'autres raisons) dans le crochet wp_handle_upload_prefilter utilisé dans le wp_handle_upload() fonction .

Il s'agit du tableau de fichiers transmis. Il s'agit d'un élément unique dans la norme PHP superglobal $_FILES l'un qui est documenté dans le Manuel PHP: Chargement de méthodes POST .

Créez simplement une fonction et ajoutez-la au filtre. À l’intérieur de votre crochet, vérifiez la taille du fichier et définissez $file['error'] sur votre message d’erreur, par exemple "Les envois de fichiers dont la taille est supérieure à X octets".

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;
});

Cette méthode n'autorise pas techniquement le téléchargement, ce qui signifie que votre serveur reçoit toujours les données de téléchargement du fichier à partir du navigateur de l'utilisateur. Il est simplement jeté après.

Pour éviter les chargements d'une certaine taille au niveau du serveur, vous devez configurer votre serveur en conséquence pour ce qui dépend de ce que vous utilisez.

    
réponse donnée hakre 15.02.2011 - 11:18

Lire d'autres questions sur les étiquettes