detection format fichier

Invité
Invité n'ayant pas de compte PHPfrance

15 mai 2007, 13:44

Bonjour,

je voudrais créer un champ html upload et créer une règle javascript qui détecte le format du fichier sur validation, pour renvoyer une alerte si ce fichier n'est pas au bon format.

Ma question : comment détecter un format de fichier dans un champ html upload avec javascript?

lem
Eléphant du PHP | 108 Messages

15 mai 2007, 13:53

Il te suffit de tester l'extension du nom du fichier que la personne renseigne dans le champ texte.
Lem.

Invité
Invité n'ayant pas de compte PHPfrance

15 mai 2007, 14:11

j'ai trouvé un script que j'essaye d'utiliser avec quick form, mais erreur de syntaxe.

Ceci fonctionne:
$form->addElement('submit', 'enregistrer', 'Enregistrer', 'onclick="javascript:verif_extension(this.value)"');
Mais pas ceci :
 $form->addElement('submit', 'enregistrer', 'Enregistrer', 'onclick="javascript:verif_extension(document.getElementsByName("fruit").value)"');
ou est l'erreur?

ViPHP
ViPHP | 5924 Messages

15 mai 2007, 14:51

il faut mettre getElementsByName("fruit")[0] parce que la fonction retourne plusieurs éléments...

Invité
Invité n'ayant pas de compte PHPfrance

15 mai 2007, 15:09

ceci me retourne un parse error niveau javascript. Voyez vous pourquoi?
$file =& $form->addElement('file', 'fichier', 'Fichier:', 'onblur="javascript:if(this.value != ''){verif_extension(this.value); return false;}"');

ViPHP
ViPHP | 5924 Messages

15 mai 2007, 15:15

ici :

Code : Tout sélectionner

if(this.value != '')
Ce code est dans une chaine quotée avec des simples quote : '
Or, dans ces chaines là, il faut échapper les caractères ' et \, les caractères ' pouvant s'échapper comme ceci : \' ou comme cela : '' .
Ce qu'il c'est passé, c'est que croyant mettre deux simples quote dans ta chaine résultat, tu n'en as mis qu'une car php a considéré que c'était une simple quote échappée. Si tu veux mettre 2 simples quote, il faut donc mettre \'\' ou bien '''' pour que php comprenne que ce sont 2 quotes échappées.