Question 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 accès. 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 changer la .htaccess fichier auquel je n'ai pas accès, de sorte que cela ne fonctionnera pas. D'autres ont suggéré que je devrais ajouter une coutume php.ini fichier à ma racine qui n'a pas fonctionné. D'autres suggestions?


413
2018-02-02 14:00


origine


Réponses:


Vous devez définir la valeur de upload_max_filesize et post_max_size dans votre 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 (s) fichier (s) php.ini, vous devez redémarrer votre serveur HTTP pour utiliser la 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 mises en ligne de fichier plus grand que la valeur spécifiée dans php.ini auront échoué au moment où l'exécution atteint votre appel à ini_set.

Voir le Description des principales directives php.ini.


724
2018-02-02 14:05



Vous pouvez le changer via un .htaccess fichier.

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

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

php_value upload_max_filesize 40M
php_value post_max_size 42M

122
2018-02-02 16:05



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!


53
2017-07-30 22:17



Vous pouvez aussi utiliser 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 paramètres sont des directives PHP_INI_PERDIR, elles ne peuvent donc pas être définies avec ini_set. Vous pouvez utiliser user.ini à la place.


45
2018-01-26 12:38



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 un article de blog avec un peu plus d'informations http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini-file-for-wordpress


37
2017-08-24 16:23



J'ai le même problème dans le passé .. et je l'ai réparé à travers .htaccess fichier

Lorsque vous apportez des modifications à la confiscation php via .htaccess vous devriez mettre les configrations dans IfModule tag, autre que le Erreur Interne du Serveur va se poser.

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

<IfModule mod_php5.c>
   php_value upload_max_filesize 40M
   php_value post_max_size 40M
</IfModule>

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


35
2018-06-04 12:43



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

Le contenu de .user.ini étaient:

upload_max_filesize = 40M
post_max_size = 40M

11
2017-09-16 21:49



Eh bien, j'aimerais ajouter mes 2 cents ici.

J'utilise le webhosting partagé et j'ai abordé ce problème plusieurs fois, j'ai essayé de le résoudre par moi-même mais en vain. 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 changer la valeur de php memory_limit dans l'hébergement web partagé? "," Comment puis-je changer la valeur de php upload_max_filesize dans l'hébergement web partagé? "," Comment puis-je changer la valeur de php max_input_vars dans l'hébergement web partagé? "," Comment puis-je changer la valeur de php max_execution_time dans l'hébergement web partagé? "," Comment puis-je changer la valeur de php max_input_time dans l'hébergement web partagé? "et beaucoup plus en configurant ou en changeant php.ini ou .htaccess fichier. J'ai essayé de les changer mais des problèmes sont apparus. Finalement j'ai contacté mon hébergeur, et il s'avère que j'ai mis mon 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 juste changé pour '5.6' donc vous devriez être bon   aller."

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 pour le faire, car .htaccess Le fichier était caché dans mon ordinateur portable local et sur mon site Web. Il était disponible dans le dossier public_html, je l'ai juste 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

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Tout fonctionne correctement pour l'instant, si l'un d'entre vous surmonté avec quelques problèmes s'il vous plaît écrivez ici et avertissez-moi afin que je puisse changer les codes ci-dessus. En passant, je télécharge également des photos qui montrent le changement.

Une dernière chose que j'ai presque oublié de mentionner l'installation de ZipArchive sur votre service d'hébergement partagé, j'ai réussi à le faire en allant simplement aux paramètres PHP via mon cpanel, cliquez sur les extensions de sélecteur php, puis cochez la section zip.

Merci.

PS: Je suis ouvert aux bonnes pratiques, et si vous voyez une mauvaise pratique ici s'il vous plaît faites le moi savoir, je vais essayer de les changer. Merci.


3
2018-02-03 01:50



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

  1. functions.php
  2. php.ini
  3. .htaccess

aucun si qui a résolu mon problème. J'utilise Godaddy et suis tombé sur une solution suggérée qui était:

  1. aller à Hébergement Web, puis Gérer
  2. En dessous de Logiciel sélectionner Sélectionnez la version de PHP
  3. Sélectionner Passer aux options PHP trouvé dans le coin supérieur droit de la table en couleur de police: bleu
  4. Au fond, vous aurez probablement upload_max_filesize = 2M
  5. Maintenant, n'hésitez pas à le changer
  6. Assurez-vous de cliquer sur le sauvegarder bouton!
  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 :)


3
2018-04-05 16:31



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

Je travaille sur localhost et en utilisant 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É!


1
2017-12-08 15:19



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 modifié probablement quatre autres fichiers php.ini, dont mon système appelé "Loaded Configuration File" (php -i | grep -i "fichier de configuration chargé") et celui qui se trouve 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 disait à l'époque: /etc/php5/apache2/php.ini mais le concept était le même.

Peut-être que cela aidera un schmuck autrement impuissant comme moi.

Cela étant dit, la réponse à l'OP 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


1
2017-07-25 20:39