Création
d'entreprise
Posez votre question Signaler

Vérification d'un fichier uploadé

Lenden 141Messages postés 30 août 2007Date d'inscription 26 mai 2012Dernière intervention - Dernière réponse le 11 déc. 2011 à 17:55
Bonjour,
dans un de mes formulaires, j'ai un input type file
(<input type="file" id="upImage" name="upImage" />)
où j'aimerais accepter uniquement des images, (parmis jpg,png et gif), vérifier qu'elles ne soient pas trop grande niveau résolution et niveau taille.
Alors sous PHP j'arrive à vérifier tout cela, mon autre souhait par contre, c'est de le vérifier directement après que l'utilisateur ait choisi son image, et du coup mettre un message d'erreur qui empêcherait aussi de faire "submit".
Je me demande quel est cet évènement, et je me dis que ce n'est faisable que sous javascript. Quelles seraient vos idées?
Lire la suite 

Vérification d'un fichier uploadé »

3 réponses
Réponse
+0
moins plus
Hello,
Voici un script trouvé sur le net, une petite recherche et tu aurais trouvés !

<form method="POST" action="#" enctype="multipart/form-data">
     <!-- On limite le fichier à 100Ko -->
     <input type="hidden" name="MAX_FILE_SIZE" value="100000">
     Fichier : <input type="file" name="avatar">
     <input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
<?php
if(isset($_POST['envoyer']))
{

$dossier = 'upload/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.'); 
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Upload effectué avec succès !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
}
}
?>
Ajouter un commentaire
Réponse
+0
moins plus
Je pense que je me suis mal exprimé.
Là ce que tu m'as montré c'est un moyen de faire des vérifications après que l'utilisateur ait appuyé sur le bouton "submit" et quand il y a effectivement un $_POST... moi ce que je veux, c'est faire des vérifications avant que l'utilisateur valide son formulaire, c'est à dire juste après qu'il ait clické sur "parcourir" et ait sélectionné son image..
MastercroW- 11 déc. 2011 à 17:55
Tu tries ce que tu veux, tout est dedans !
Ajouter un commentaire
Ce document intitulé « Vérification d'un fichier uploadé » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?