2009-06-06 4 views
2

Je cours PHP 5.3, et j'ai rencontré un problème que je n'ai pas rencontré auparavant. J'ai un formulaire de téléchargement (oui, enctype est défini sur multipart/form-data), qui poste des choses sur une page php.

L'installation php a activé les téléchargements, et upload_max_filesize a la valeur .5GB.

Le téléchargement de photos (j'ai essayé jusqu'à 50 à la fois) fonctionne bien. Le téléchargement de fichiers .zip, cependant, ne fonctionne pas. Le téléchargement d'un .zip rendra la plupart des tableaux d'entrée globaux ($ _POST, $ _ GET, $ _FICHES et $ _REQUEST) complètement vides. Un sniff de réseau affiche les données POST en cours d'envoi, ainsi que le zip qui a été téléchargé.

Les journaux Apache ne présentent rien de particulier, et aucune erreur n'est rencontrée. Les tableaux sont juste vides. Est-ce que quelqu'un a rencontré ça?

+0

Si vous utilisez PHP 4.20, il pourrait se rapporter à ce bogue: http://bugs.php.net/bug.php?id=16353 – karim79

+0

Je suppose que vous avez essayé un petit fichier zip? Dites seulement quelques Ko pour vous assurer que ce n'était pas une taille de fichier. – gradbot

Répondre

4

Je n'ai pas la moindre idée de ce que le problème exact pourrait être, mais je vous suggère d'essayer quelques modifications sur les fichiers:

  • pouvez-vous télécharger un fichier .jpg que vous avez renommé fermer?
  • pouvez-vous télécharger un fichier .zip que vous avez renommé en .jpg? Essayez de télécharger un fichier .zip plus petit, juste pour vous assurer qu'il est réellement transféré.
  • essayer de télécharger un fichier .jpg avec un plus grand filesize

Espérons que cela donnera un pointeur sur l'endroit où se trouve le problème. Pour ce que ça vaut, je doute que le problème soit en PHP.

+0

+1 Conseils judicieux. Il vaut également la peine d'ajouter que les paramètres max_input_time et max_execution_time dans php.ini peuvent casser les téléchargements de fichiers s'ils ne sont pas assez élevés. – karim79

+0

Je n'ai pas essayé un zip plus petit - mais le faire a prouvé que c'était un problème de taille de fichier. Je n'en ai toujours pas trouvé la source, mais au moins je sais dans quelle direction regarder! –

0
<?php 

set_time_limit(0); // Make sure php doesnt end script after 30 seconds 
ini_set('upload_max_filesize', '100M'); // Set default file upload size to 100 megs 

?> 
+0

Il a déjà dit qu'il a mis à 5 Go. – karim79

+0

Dépend de la façon dont il l'a défini. Vous pouvez le configurer de plusieurs façons en éditant le php.ini directement ou en .htaccess. Cela s'assure que son ensemble lorsque le script est en cours d'exécution – Ozzy

+0

La définition de la taille maximale du fichier upload au niveau du script ne fonctionne pas, n'est-ce pas? J'avais l'impression que la partie de téléchargement (et ses restrictions associées) se produisait * avant que le script ne soit effectivement chargé ... – Narcissus

1

J'ai récemment rencontré ce même problème dans php7.0. Quand j'ai essayé de télécharger 0,7G $ _POST Zip-, $ _ REQUEST et $ _FILES étaient tous vides, mais de plus en plus upload_max_filesize et post_max_size valeurs pour corriger la limite dans php.ini et redémarrer php7.0-FPM le fixe.

Espérons que cela aide quelqu'un !!!

Questions connexes