2009-06-13 11 views
2

J'écris une application qui accepte les téléchargements .mp4.Le téléchargement de fichiers PHP 24 Mo échoue silencieusement

J'ai donc un .mp4 de 24,3 Mo qui est posté sur le serveur, mais il échoue silencieusement.

Le plus petit fichier suivant est un fichier .flv de 5,2 Mo. Ce n'est pas le type de fichier bien sûr, mais la taille du fichier.

Je me demande si quelqu'un pourrait faire la lumière là-dessus?

P.S. les entrées php.ini pertinentes sont les suivantes:

memory_limit = 256M 
upload_max_filesize = 32M 

Aide!

Répondre

11

Vous devez également définir post_max_size. Les fichiers sont envoyés en utilisant HTTP POST.

+0

"post_max_size" est correct. Je vous remercie! :) – Wayne

+0

Cela a résolu mon problème. La question est, quelle est la différence entre upload max filesize et post max size? –

+1

@jakenoble: Vous pouvez envoyer plus que des fichiers via HTTP POST. Par exemple, vous pouvez télécharger deux fichiers de 2 Mo et un texte de 200 Ko dans une zone de texte via HTTP POST. upload_max_filesize devrait être de 2 Mo pour cela, mais post_max_size devrait être de 4,2 Mo –

0

Définissez le niveau de signalisation d'erreur sur E_ALL. Pourrait vous donner un indice sur ce qui ne va pas.

+0

Pourquoi était -1? – sqram

3

Je me demande si c'est lié au codage. Encodage Base64 = 33% de plus grande taille. 24,3 * 1,33 = 32,4 Mo> 32 Mo. Essayez un fichier de 23,9 Mo et voir si cela réussit

1

post_max_size est une bonne idée, vous devriez également vérifier les délais d'attente. Étant donné que le téléchargement de fichiers volumineux prend plus de temps, le serveur Web peut décider que cela prend trop de temps et annuler la demande. Vérifiez la durée maximale d'exécution dans php.ini, vérifiez également s'il existe d'autres limites de temps côté serveur (je connais des serveurs Web où toutes les tâches sont supprimées après 30 secondes, quoi qu'il arrive.) Un téléchargement peut facilement prendre plus de temps.

Avez-vous envisagé d'utiliser un téléchargeur Flash? Cela vous donne plus de contrôle sur le processus de téléchargement, et vous pouvez afficher une barre de progression pendant le téléchargement (plus convivial)

Questions connexes