Vérifier Taille et Mime Type d'un Upload
Résolu
tuxboy
Messages postés
995
Date d'inscription
Statut
Membre
Dernière intervention
-
fubar -
fubar -
Bonsoir,
Je voudrais savoir quel est le moyen le plus simple en PHP pour vérifier dans un formulaire la taille maximale pour uploader uniquement des .DOC (et rejeter tout autre type) ?
Avec un grand merci par avance à tous ceux qui m'aiguilleront vers une fonction optimisée et simple à mettre en place.
Je voudrais savoir quel est le moyen le plus simple en PHP pour vérifier dans un formulaire la taille maximale pour uploader uniquement des .DOC (et rejeter tout autre type) ?
Avec un grand merci par avance à tous ceux qui m'aiguilleront vers une fonction optimisée et simple à mettre en place.
A voir également:
- Vérifier Taille et Mime Type d'un Upload
- Comment réduire la taille d'un fichier - Guide
- Verifier compatibilite windows 11 - Guide
- Verifier un lien - Guide
- Reduire taille image - Guide
- Youtube upload - Télécharger - Diffusion
2 réponses
Si tu es l'administrateur de serveur qui traite la requete http de client, pourquoi pas inserer le code .js suivant et avertir l'utilisateur de l'erreur ?
Bonne chance.
Bonne chance.
- le code .js
<script language='JavaScript'>
function checkFileSize(inputFile) {
var max = 3 * 512 * 512;
if (inputFile.files && inputFile.files[0].size > max) {
alert("File too large.");
inputFile.value = null;
}
}
</script>
- le code .html
<input type="file" name="inputFile" />
fubar
C'est pas sérieux comme réponse j'espère... niveau sécurité c'est une catastrophe. La personne mal intentionné désactive le JS et peux uploader tout et n'importe quoi, de n'importe quelle taille du moment que ça passe aux niveau des limitations serveur. A la limite ça peut juste aider l'utilisateur pour la validation du formulaire pour éviter d'avoir à rafraîchir la page et à perdre les données entrées. Sinon, voilà typiquement un exemple de comment ne pas utiliser le JS. Pour l'OP, il faut regarder du coté de la configuration dans le php.ini avec les options upload_max_filesize et post_max_size. Pour le types des fichiers, il faut regarder le MIME type avec l'objet PHP finfo ou les fonctions fileinfo.
Voilà, je présente aussi une solution, mais cette fois au niveau de php.
En souhaitant que ça aide un peu! ;)
En souhaitant que ça aide un peu! ;)
if($_FILES['upload']['size'] > 209715200){ //Taille maximale dépassée. } $finfo = finfo_open(FILEINFO_MIME_TYPE); $finfo = finfo_file($finfo, $_FILES['upload']['tmp_name']); finfo_close($finfo); //Bon, ici tu as un array parce que j'acceptais //plusieurs mime types, maintenant tu en fais //ce que tu veux! o= if (!in_array($finfo, array( 'application/msword'))) { //Format invalide. }