Gérer la taille maximale des fichiers uploadés en PHP

I. Présentation

Lors de la gestion et de la maintenance de site web, de CMS ou d'application web (type Owncloud ou Ajaxplorer), il est fréquent de se heurter au problème de la taille maximale des fichiers que l'on upload sur notre serveur web. Par sécurité et par précaution, PHP n'autorise par défaut que l'upload de fichier d'un taille inférieure à 2Mo, ce qui convient parfaitement pour des petits fichiers ou mêmes des images. Cependant, il peut arriver dans certains cas ou lors de l'utilisation de certaines applications comme des interfaces web Cloud (Owncloud, Ajxplorer, CozeyCloud, etc.), que cette restriction par défaut ne convienne plus. On se retrouvera par exemple avec une erreur comme celle-ci sous WordPress :

PhpFileSize01

II. Gestion du serveur web ou hébergement

Il arrive souvent que nos sites web soient hébergés chez des hébergeurs externes comme OVH, 1&1 ou Amazon, dans ces cas là, ce sont les hébergeurs qui gèrent la limite de la taille maximale des fichiers uploadés. Cette configuration se fait en effet côté serveur, il faut donc avoir la main sur le configuration PHP de notre serveur.

III. Gérer la limite dans PHP

Le plus souvent, c'est PHP qui gère cette limite (il peut arriver que d'autres restrictions s'ajoutent à la limite de PHP comme dans le cas d'Ajaxplorer traité dans un autre tutoriel). Il faut donc aller modifier sa configuration, on se rend pour cela dans le fichier "/etc/php5/apache2/php.ini" (PHP5 sous Debian et dérivés) ou selon le serveur dans "/etc/php.ini(PHP5 sous CentOs et dérivés) où nous allons trouver ces deux valeurs :

  • Taille maximale autorisée pour l'upload des fichiers

PhpFileSize02

  • Taille maximale d'acceptation par PHP des données passées par la méthode POST

PhpFileSize03

Nous passerons donc ces valeurs comme voulu (en augmentant la valeur ou en la diminuant) en sachant que c'est la plus petite qui fixera la taille maximale d'un fichier uploadé :

upload_max_filesize = 250M
post_max_size = 250M

Pour information, il n'est pas nécessaire de redémarrer le serveur web après avoir effectué ces modifications.

Note : On notera "G" à la place de "M" pour parler de valeur en Gigaoctet.

 

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d’IT-Connect.fr et d’Information-security.fr.
Auditeur sécurité chez Amossys.

    mickael a publié 478 articles sur IT-Connect.See all posts by mickael

    2 réactions sur “Gérer la taille maximale des fichiers uploadés en PHP

    • 09/11/2015 à 11:57
      Permalink

      Bonjour,

      J’ai un serveur cloud sous Owncloud 8.2 et j’ai ce problème de taille maximale d’envoie fixée à 513Mo, ce qui est la limite par défaut. Le serveur tourne sous Ubuntu 14.04 x32.

      J’ai fait les démarches dont vous parlez pour les debian et dérivées mais ça ne marche pas. En fait ça ne change rien du tout. Est-ce qu’il y a un fichier du même type pour owncloud quelque part que je pourrai modifier ?

      Merci,
      Raphaël

      Répondre
    • 14/11/2015 à 00:45
      Permalink

      SaLuT Raphaël !! .. j’ai une solution magic pour toi ! la solution est que il faut aller dans le dossier owncloud ou tu va trouvé un fichier caché « .htaccess » , il faut utilise la commande « ls -a » pour le montré ensuite ouvré le par la commande « gedit .htaccess » , chercher la ligne 25 et 26 et modifier 513M par 10T si tu veux ! … 🙂

      Répondre

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *