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 :
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
- Taille maximale d'acceptation par PHP des données passées par la méthode POST
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.
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
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 ! … 🙂