nom de fichier lors d'un upload

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : nom de fichier lors d'un upload

par kanaille » 10 sept. 2008, 21:33

Bonjour à vous deux et merci pour votre aide !!

Cependant, ça ne marche car ff/linux n'upload aucun fichier, comme si ff n'arrivait pas à trouver le fichier par la suite. Utf-8 ou iso15 ne changent rien non plus.

:roll:

Re: nom de fichier lors d'un upload

par dunbar » 09 sept. 2008, 22:30

Bonjour,

J'ai un problème d'upload dans un form tout ce qu'il y a de plus classique avec un fichier dont le nom contient des accents.

Normalement j'ai un :

form ---> action (avec un traitement de l'image) ----> insertion dans mysql

Hors, en vérifiant pas à pas ce qu'il se passe, les fichiers avec accents ne dépassent même pas la première étape, celui du form :

Code : Tout sélectionner

photo : <input type='hidden' name='MAX_FILE_SIZE' value='100000'><input size='30%' name='photo' type='file'>
Il y a-t-il un moyen de formater les noms qui contiennent des accents/ caractères spéciaux avant d'envoyer le formulaire ?
Salut,
Une solution ici

par Patriboom » 09 sept. 2008, 21:48

À mon avis, il vaut toujours mieux traiter en fonction de la plus grande contrainte, c'est-à-dire que si Linux/FF refuse les accents, considérons que tous les autres refusent aussi.

Dans le traitement en javascript que tu feras dans Verif(), tu peux trouver et remplacer les lettres accentuées, peu importe le navigateur, peu importe le Système d'exploitation. C'est ce que je te propose. Tu trouveras des ressources javascript facilement sur internet, par exemple ceci: http://www.javascriptfr.com/code.aspx?ID=17590

par kanaille » 09 sept. 2008, 20:44

Tout traitement avant envoi doit se faire par un onsubmit dans la balise form

Exemple:

Code : Tout sélectionner

<form method="post" enctype="multipart/form-data" name="EnvoyerPhoto" onSubmit="return Verif(this.form, 'Photo')">
Dans la partie et HTML, et ci-bas entre les balise <script>

Code : Tout sélectionner

function Verif (Contenu, Quel) { if (Quel == 'Photo') { if (document.EnvoyerPhoto.NumReleve.value == 0) { alert("Votre photo doit obligatoirement être liée à un relevé existant"); return false; } return true; } }
Salut Patriboom,

Merci pour ce code, c'est vraiment sympa. Je vais m'en servir pour vérifier l'existence du fichier uploadé.

Cependant je me suis rendu compte que mon problème est autre :

-sous linux : firefox déconne et n'upload pas les photos dont le nom contient des accents
-sous windows : ie et firefox fonctionnent parfaitement.

Bon, vu que je vais avoir 0,000003 % de visiteurs sous linux... c'est pas grave !!!

Merci encore et à bientôt !!

par Patriboom » 09 sept. 2008, 06:09

Tout traitement avant envoi doit se faire par un onsubmit dans la balise form

Exemple:

Code : Tout sélectionner

<form method="post" enctype="multipart/form-data" name="EnvoyerPhoto" onSubmit="return Verif(this.form, 'Photo')">
Dans la partie et HTML, et ci-bas entre les balise <script>

Code : Tout sélectionner

function Verif (Contenu, Quel) { if (Quel == 'Photo') { if (document.EnvoyerPhoto.NumReleve.value == 0) { alert("Votre photo doit obligatoirement être liée à un relevé existant"); return false; } return true; } }

nom de fichier lors d'un upload

par kanaille » 08 sept. 2008, 22:39

Bonjour,

J'ai un problème d'upload dans un form tout ce qu'il y a de plus classique avec un fichier dont le nom contient des accents.

Normalement j'ai un :

form ---> action (avec un traitement de l'image) ----> insertion dans mysql

Hors, en vérifiant pas à pas ce qu'il se passe, les fichiers avec accents ne dépassent même pas la première étape, celui du form :

Code : Tout sélectionner

photo : <input type='hidden' name='MAX_FILE_SIZE' value='100000'><input size='30%' name='photo' type='file'>
Il y a-t-il un moyen de formater les noms qui contiennent des accents/ caractères spéciaux avant d'envoyer le formulaire ?