2010-02-16 3 views
0

Le problème est que je veux vérifier si le fichier est trop volumineux pour que je puisse afficher un message d'erreur, mais lorsque le fichier est plus grand que upload_max_filesize dans php.ini, il ne semble afficher qu'un 0.

Pourquoi cela se produit-il? Comment puis-je tester que le fichier est trop volumineux pour donner une erreur?

Répondre

4

Voir http://php.net/manual/en/features.file-upload.errors.php

extrait pertinent:

Depuis PHP 4.2.0, PHP renvoie un code d'erreur approprié ainsi que le tableau de fichiers . Le code d'erreur peut être trouvé dans le segment d'erreur du fichier tableau qui est créé au cours du fichier télécharger par PHP. En d'autres termes, l'erreur peut être trouvée dans $ _FILES ['userfile'] ['erreur'].

UPLOAD_ERR_OK Valeur: 0; Il n'y a pas d'erreur , le fichier téléchargé avec succès.

UPLOAD_ERR_INI_SIZE Valeur: 1; Le fichier téléchargé dépasse la directive upload_max_filesize dans php.ini .

1

le fait que le fichier est présent et en disant 0 indique qu'une erreur s'est produite ... généralement, il est au-dessus de la limite de taille de fichier. C'est l'erreur pertinente .

edit: Comme le commentateur ci-dessous le mentionne, l'erreur est sur $ _FILES ['userfile'] ['error'].

+1

Non l'erreur correspondante est sur $ _FILES [ 'userfile'] [ 'error'] –

+0

Bien sûr! Comment aurais-je pu être si aveugle, merci :) – Atomix

+0

@Atomix: Pourquoi avez-vous accepté une mauvaise réponse? :) –