Modifier la taille maximale du fichier de téléchargement

J’ai un site Web hébergé sur un PC auquel je n’ai pas access. J’ai un formulaire de téléchargement permettant aux utilisateurs de télécharger des fichiers mp3 de 30 Mo maximum. Mon script côté serveur est fait en PHP.

Chaque fois que j’essaie de télécharger un fichier, je reçois une erreur indiquant que le fichier dépasse la taille maximale autorisée. Je dois donc augmenter la taille. Mes recherches sur le Web ont suggéré de modifier le fichier .htaccess auquel je n’ai pas access, ce qui ne fonctionnera pas. D’autres ont suggéré d’append à ma racine un fichier php.ini personnalisé qui ne fonctionnait pas. D’autres suggestions?

Vous devez définir la valeur de upload_max_filesize et post_max_size dans votre post_max_size php.ini:

 ; Maximum allowed size for uploaded files. upload_max_filesize = 40M ; Must be greater than or equal to upload_max_filesize post_max_size = 40M 

Après avoir modifié le ou les fichiers php.ini, vous devez redémarrer votre serveur HTTP pour utiliser une nouvelle configuration.

Si vous ne pouvez pas changer votre php.ini, vous n’avez pas de chance. Vous ne pouvez pas modifier ces valeurs au moment de l’exécution. les téléchargements de fichiers supérieurs à la valeur spécifiée dans php.ini auront échoué au moment où l’exécution atteindra votre appel à ini_set .

Voir la Description des directives php.ini principales .

Vous pouvez le changer via un fichier .htaccess .

.htaccess fichiers .htaccess sont stockés dans le même répertoire que vos fichiers .php . Ils modifient la configuration de ce dossier et de tous les sous-dossiers. Vous les utilisez simplement en créant un fichier .htaccess dans le répertoire de votre choix (ou modifiez-le si présent).

Ce qui suit devrait vous permettre d’augmenter votre limite de téléchargement (si le fournisseur de serveur autorise les modifications de configuration PHP via .htaccess ).

 php_value upload_max_filesize 40M php_value post_max_size 42M 

J’ai eu le même problème et j’ai créé un fichier .user.ini et l’ai placé dans le répertoire dans lequel se trouvait le script de téléchargement. Alors à l’intérieur de ce fichier, je définis ces deux valeurs:

  upload_max_filesize = 40M post_max_size = 40M 

et ça a bien marché pour moi!

Vous pouvez également utiliser la fonction ini_set (uniquement pour la version PHP inférieure à 5.3):

 ini_set('post_max_size', '64M'); ini_set('upload_max_filesize', '64M'); 

Comme @acme l’a dit, dans PHP 5.3 et au-dessus, ces parameters sont des directives PHP_INI_PERDIR, elles ne peuvent donc pas être définies avec ini_set. Vous pouvez utiliser user.ini à la place.

Pour localiser le fichier ini, lancez d’abord

 php -i | grep -i "loaded configuration file" 

Ensuite, ouvrez le fichier et changez

 upload_max_filesize = 2M post_max_size = 2M 

remplacer le 2M par la taille souhaitée, par exemple 100M.

J’ai aussi un article sur le blog avec un peu plus d’informations. http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini- fichier-pour-wordpress

J’ai le même problème dans le passé .. et je l’ai corrigé grâce au fichier .htaccess

Lorsque vous apportez des modifications à la configuration php par le biais de .htaccess vous devez placer les configrations dans la balise IfModule , à la différence que l’ erreur du serveur interne se produira.

Ceci est un exemple, ça marche bien pour moi:

  php_value upload_max_filesize 40M php_value post_max_size 40M  

Et c’est la référence php si vous voulez mieux comprendre. http://php.net/manual/en/configuration.changes.php

J’ai résolu ce problème en créant un fichier appelé .user.ini dans le répertoire où se trouvent les scripts de fichiers PHP (cela signifie que tout script PHP dans ce répertoire a la nouvelle limite de taille de fichier)

Le contenu de .user.ini était:

 upload_max_filesize = 40M post_max_size = 40M 

Eh bien, j’aimerais append mes 2 cents ici.

J’utilise l’hébergement Web partagé et je me suis attaqué à ce problème plusieurs fois, j’ai essayé de le résoudre seul mais sans succès. Finalement, j’ai réussi à le résoudre en vérifiant diverses sources Web et en contactant mon fournisseur de services d’hébergement. Mes questions étaient: “Comment puis-je modifier la valeur php memory_limit dans un hébergement upload_max_filesize partagé?”, “Comment puis-je modifier la valeur php max_input_vars dans un hébergement max_input_vars partagé?”, “Comment puis-je changer valeur php max_execution_time dans l’hébergement web partagé? “,” Comment puis-je modifier la valeur php max_input_time dans l’hébergement web partagé? ” et beaucoup plus en configurant ou en modifiant le fichier php.ini ou .htaccess . J’ai essayé de les changer mais des problèmes sont apparus. Enfin, j’ai contacté mon hébergeur, et il s’avère que je mets php en natif, ils l’ont changé en php 5.6, voici leur réponse:

“Votre PHP a été défini sur le mode” natif “, ce qui signifie que vous ne pouvez pas remplacer ces valeurs. Je vous ai simplement remplacé par” 5.6 “.

Après cela, j’ai connecté mon site via ftp Filezilla, aussi n’oubliez pas de faire à la fois votre service ftp pour afficher les fichiers cachés et votre ordinateur local, car le fichier .htaccess était caché dans mon ordinateur portable local et sur mon site. Il était disponible dans le dossier public_html, je l’ai simplement téléchargé et ajouté les codes suivants à la fin du fichier, puis je l’ai téléchargé sur le serveur:

 php_value memory_limit 256M php_value post_max_size 256M php_value upload_max_filesize 64M php_value max_input_vars 1800 php_value max_execution_time 300 php_value max_input_time 300 

entrer la description de l'image ici

entrer la description de l'image ici

entrer la description de l'image ici

entrer la description de l'image ici

entrer la description de l'image ici

Tout fonctionne correctement pour le moment, si certains d’entre vous rencontrent des problèmes, écrivez ici et prévenez-moi afin que je puisse modifier les codes ci-dessus. Par ailleurs, je télécharge également des images qui montre le changement.

Encore une chose que j’ai presque oublié de mentionner l’installation de ZipArchive sur votre service d’hébergement Web partagé, j’ai réussi à cocher cette case en allant simplement aux parameters PHP via mon cpanel, cliquez sur les extensions du sélecteur php, puis cochez la section zip.

Merci.

PS: Je suis ouvert aux bonnes pratiques, et si vous voyez de mauvaises pratiques ici, faites-le moi savoir, je vais essayer de les changer. Merci.

J’ai eu le même problème. J’ai essayé trois manières qui étaient généralement suggérées:

  1. fonctions.php
  2. php.ini
  3. .htaccess

aucune si cela a résolu mon problème. J’utilise godaddy et je suis tombé sur une solution proposée:

  1. a accédé à l’ hébergement Web , puis gérer
  2. Sous Software select Select PHP version
  3. Sélectionnez Basculer vers les options PHP situées dans le coin supérieur droit du tableau en couleur de police: bleu
  4. En bas, vous aurez probablement upload_max_filesize = 2M
  5. Maintenant, n’hésitez pas à le changer
  6. Assurez-vous de cliquer sur le bouton Enregistrer !
  7. Maintenant, allez sur votre panneau wp-admin, sélectionnez Médias puis Ajouter.

Voila! Vous avez maintenant une taille de fichier de téléchargement maximale différente 🙂

Non de ces solutions fonctionnent pour moi !! (déjà défini à 32M par défaut) .Le problème est dans la plupart des cas max_allowed_packet

Je travaille sur localhost et utilise MAMP .

Voici des solutions

1. Si vous n’avez pas my.ini

Ajouter

 --max_allowed_packet=168435456 

À

 ...\MAMP\bin\startMysql.sh 

2. Si vous avez my.ini

En dessous de

 [mysqld] 

Ajouter

 max_allowed_packet=100M 

TERMINÉ!

Peut-être que cela devrait être un commentaire pour @ seanb123 et @Fredrick Gauss commentant son commentaire, mais pour moi dans Drupal 8.1, le fichier que je devais modifier se trouvait ici:

 /etc/php/7.0/apache2/php.ini 

J’ai probablement modifié quatre autres fichiers php.ini, y compris celui appelé “Loaded Configuration File” par mon système (php -i | grep -i “fichier de configuration chargé”) et celui trouvé sur la page info.php mais aucun d’entre eux aidé. J’ai trouvé le bon chemin sur un site à partir de 2012 où il était dit que le chemin était obsolète, même BACK THEN. Certes, pour PHP7, c’est un peu différent de ce qu’il a dit à l’époque: /etc/php5/apache2/php.ini mais le concept était le même.

Peut-être que cela aidera certains escrocs sans défense comme moi.

Cela étant dit, la réponse à la question opérationnelle dans mon cas serait que quelqu’un avec des privilèges d’administrateur sur la boîte devrait le faire.

Le site qui m’a aidé: http://www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/

Ceci est également abordé ici: Importer la limite de taille de fichier dans PHPMyAdmin

Plusieurs fois, j’ai remarqué que le site wit hosting mutual ne permettait pas de modifier les parameters dans les fichiers php.ini. on ne peut même pas créer un fichier .htaaccess du tout. dans une telle situation, on peut essayer les choses suivantes

 ini_set('upload_max_filesize', '10M'); ini_set('post_max_size', '10M'); ini_set('max_input_time', 300); ini_set('max_execution_time', 300); 

Trois choses à vérifier.

upload_max_filesize , memory_limit et post_max_size dans le fichier de configuration php.ini exactement.

Tous ces trois parameters limitent la taille maximale des données pouvant être soumises et traitées par PHP.

En général, post_max_size et memory_limit doivent être plus gros que upload_max_filesize .


Donc, trois variables au total, vous devez vérifier pour être absolument sûr.

les réponses sont un peu incomplètes, 3 choses à faire

dans php.ini de votre installation php (note: selon que vous le voulez pour CLI, apache ou nginx, trouvez le bon php.ini à manipuler. Pour nginx, il se trouve généralement dans /etc/php/7.1/fpm où 7.1 dépend de votre version. Pour apache généralement /etc/php/7.1/apache2 )

 post_max_size=500M upload_max_filesize=500M memory_limit=900M 

ou définir d’autres valeurs. Redémarrez / relancez apache si apache est installé ou php-fpm pour nginx si vous utilisez nginx.