J'ai essayé de télécharger un fichier d'une taille de 20 Mo. Or, la taille par défaut du formulaire de téléchargement est de 8 Mo. Lorsque je télécharge un tel fichier, les variables $_POST et $_FILE sont vides. Je veux maintenant vérifier la taille du fichier. Si ces deux variables sont vides, comment puis-je effectuer ce contrôle ? Veuillez me donner des suggestions.
Réponses
Trop de publicités?Sauf erreur de code, il est fort probable que vos 20MB
dépasse votre limite de téléchargement. Changez cela de façon permanente à partir de votre php.ini
archivo.
Utilice
ini_set("upload_max_filesize", "30M");
pour définir votre taille maximale de téléchargement pour cette session uniquement. Et pour le POST
Utilisez cette
ini_set("post_max_size", "30M");
Pour vérifier les tailles
echo ini_get("post_max_size") . "\n";
echo ini_get("upload_max_filesize");
Aucune idée de ce que vous voulez vraiment. Mais vous pouvez sonder la taille du contenu reçu en utilisant :
$_SERVER["CONTENT_LENGTH"]
Cela devrait indiquer la taille du corps de la requête POST. (Le nombre peut être plus élevé que le contenu réellement reçu, dans le cas d'un téléchargement avorté).
Vous pouvez définir dynamiquement la taille maximale de vos fichiers à télécharger.
écrivez la déclaration suivante dans votre fonction de téléchargement où vous essayez de télécharger un fichier. Ceci augmentera la limite jusqu'à 50 MB
ini_set("upload_max_filesize", "50M");
Si vous voulez vérifier les variables des fichiers, vous pouvez utiliser l'alternative HTTP_POST_FILES
$theFileSize = $HTTP_POST_FILES['file']['size'];
J'espère que cela pourra vous aider.
Gracias.
Utilice MAX_FILE_SIZE
comme champ d'entrée caché, cela empêchera l'utilisateur d'attendre si le fichier est plus grand que la limite et n'exécutera pas votre code afin que les variables ne soient pas vides...
Le champ caché MAX_FILE_SIZE (mesuré en octets) doit précéder le champ champ de saisie du fichier, et sa valeur est la taille maximale des fichiers acceptée par PHP. Cet élément de formulaire devrait toujours être utilisé, car il évite aux utilisateurs d'attendre le transfert d'un gros fichier pour découvrir qu'il était trop gros qu'il était trop gros et que le transfert a échoué. Gardez à l'esprit : tromper ce paramètre du côté du navigateur est assez facile à tromper. Ne vous fiez donc jamais à des fichiers comportant ne comptez jamais sur le fait que des fichiers d'une taille supérieure soient bloqués par cette fonction. Il s'agit simplement d'une fonctionnalité pratique pour les utilisateurs du côté client de l'application. Les paramètres PHP (côté serveur) pour la taille maximale, cependant, ne peuvent pas être trompés.
http://www.php.net/manual/en/features.file-upload.post-method.php