Bonjour à tous les Alsanautes,
J'ai un pitit souci concernant la vérification du type des fichiers que les utilisateurs peuvent envoyer grace à mon formulaire. J'ai récupéré un script d'upload d'image que j'ai arrangé à ma sauce et qui fonctionne bien. Par contre je voudrais pouvoir verifier que l'utilisateur envoi bien une image de type jpg ou gif ou png.
Le champ de mon formulaire pour envoyer 3 images maximum est comme ceci
la verification de l'extension est une fonction javascript (elle aussi récupérée et adaptée)
Avec ce code lorsque l'utilisateur entre un lien d'image invalide dans le champ "FILE" le script le detecte tout de suite et vide le champ, par contre si l'utilisateur remet un lien invalide pdans ce champ, la fonction ne detecte pas que l'extension du fichier est invalide...
Pouvez-vous m'aider ?
Merci à tous ceux et toutes celles qui pourront m'eclairer
-----------------------------
Bon j'ai trouvé , enfin je crois
Modifié par pareto (02 Apr 2010 - 10:57)
J'ai un pitit souci concernant la vérification du type des fichiers que les utilisateurs peuvent envoyer grace à mon formulaire. J'ai récupéré un script d'upload d'image que j'ai arrangé à ma sauce et qui fonctionne bien. Par contre je voudrais pouvoir verifier que l'utilisateur envoi bien une image de type jpg ou gif ou png.
Le champ de mon formulaire pour envoyer 3 images maximum est comme ceci
($i=0; $i < $max_images; $i++)
{
echo "\t\t".'<input type="file" class="styleimage" id="image'.$i.'" name="image'.$i.'" value="" onChange="verif_extension(image'.$i.'.value);" />'."<br />\n";
}
la verification de l'extension est une fonction javascript (elle aussi récupérée et adaptée)
function clearFileInput()
{
var oldInput = document.getElementById("image0");
var newInput = document.createElement("input");
newInput.type = "file";
newInput.id = oldInput.id;
newInput.name = oldInput.name;
newInput.className = oldInput.className;
newInput.style.cssText = oldInput.style.cssText;
oldInput.parentNode.replaceChild(newInput, oldInput);
}
function recup_extension(fichier) // fonction de récupération extension fichier
{
if (fichier!="")// si le champ fichier n'est pas vide
{
nom_fichier=fichier;// on récupere le chemin complet du fichier
nbchar = nom_fichier.length;// on compte le nombre de caractere que compose ce chemin
extension = nom_fichier.substring(nbchar-4,nbchar); // on récupere les 4 derniers caracteres
extension=extension.toLowerCase(); //on uniforme les caracteres en minuscules au cas ou cela aurait été écris en majuscule...
return extension; // on renvoi l'extension vers la fonction appelante
}
}
function verif_extension(fichier)// fonction vérification de l'extension aprés avoir choisi le fichier
{
ext = recup_extension(fichier);// on appelle la fonction de récupération de l'extension et on récupere l'extension
if(ext==".jpg"||ext==".gif"||ext==".png" ||ext==".jpeg"){}// si extension = a une des extension suivante alors tout est ok donc ... pas d'erreur
else // sinon on alert l'user de la mauvaise extension
{
alert("Attention les images au format '"+extension+"' ne sont pas autorisées !\n");
clearFileInput();
}
}
Avec ce code lorsque l'utilisateur entre un lien d'image invalide dans le champ "FILE" le script le detecte tout de suite et vide le champ, par contre si l'utilisateur remet un lien invalide pdans ce champ, la fonction ne detecte pas que l'extension du fichier est invalide...
Pouvez-vous m'aider ?
Merci à tous ceux et toutes celles qui pourront m'eclairer
-----------------------------
Bon j'ai trouvé , enfin je crois

Modifié par pareto (02 Apr 2010 - 10:57)