Page 1 sur 1

Script upload et accents

Posté : 17 janv. 2011, 02:34
par fxav
Bonjour à tous !

J'aurais besoin d'un petit coup de main !

J'ai trouvé un script permettant l'envoi de fichier, malheureusement il ne gère pas les accents.

voici le script :

Code : Tout sélectionner

<?php //---------------------------- // DEFINITION DES VARIABLES //---------------------------- $target = '.'; // Repertoire cible //---------------------- // SCRIPT D'UPLOAD //---------------------- ?> <html> <head> <title>Upload d'un fichier sur le serveur !</title> </head> <body> <?php if(!empty($_POST['posted'])) { // On vérifie si le champ est rempli if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) { // Si upload OK alors on affiche le message de réussite echo '<b>Fichier uploadé avec succès !</b>'; echo '<hr />'; echo '<b>Fichier :</b> ', $_FILES['fichier']['name'], '<br />'; echo '<hr />'; echo '<br /><br />'; } else { // Sinon on affiche une erreur pour le champ vide echo '<b>Le champ du formulaire est vide !</b><br /><br />'; } } ?> <form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST"> <b>Envoyer le fichier :</b><br /><br /> <input type="hidden" name="posted" value="1" /> <input name="fichier" type="file" /> <input type="submit" value="Uploader" /> </form> </body> </html>

Je ne m'y connais pas du tout, mais apparement on pourrait utiliser str_replace pour remplacer les "à" par des "a" les "é" par des "e" etc... mais je ne sais pas comment intégrer celà au script, j'ai beau avoir cherché je n'ai pas réussi !

Merci pour votre petit coup de pouce
A+

Re: Script upload et accents

Posté : 17 janv. 2011, 02:36
par stealth35
Hello, je t'invite à voir le travaille de AB à ce niveau là, voir directement utiliser sa classe :
vos-contributions/upload-fichiers-verif ... 54129.html
:wink:

Re: Script upload et accents

Posté : 17 janv. 2011, 22:11
par fxav
Merci beaucoup !

mais après plusieurs essais je n'y arrive toujours pas ! maintenant quand le fichier a un accent le script tourne en rond ...

Re: Script upload et accents

Posté : 17 janv. 2011, 23:18
par Ryle
Pour simplifier la chose tu peux juste récupérer sa fonction Nettoie_nom_fichier() et l'inclure à ton propre code, puis y faire appel pour nettoyer le nom du fichier $_FILES['fichier']['name'] :)

Re: Script upload et accents

Posté : 18 janv. 2011, 13:25
par fxav
Bon j'ai réussi avec l'ancien script que j'utilisais, donc c'est cool. Mais à vrai dire je sais même pas trop comment j'ai fait.

Si j'essaye de faire pareil avec le script de mon 1er post, ça ne fonctionne pas. Si le fichier n'a pas d'accent ça marche nickel, sinon ça tourne en rond.

Qu'est-ce qu'il y a de faux ?

Code : Tout sélectionner

<?php if(!empty($_POST['posted'])) { // On vérifie si le champ est rempli $cible = array("é", "à", "°", "cours"); $rempla = array("e", "a", "um ", "Cours"); $_FILES['fichier']['name'] = str_replace($cible, $rempla, $_FILES['fichier']['name']); if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) { // Si upload OK alors on affiche le message de réussite echo '<b>Fichier recu !</b>'; echo '<hr />'; echo '<b>Fichier :</b> ', $_FILES['fichier']['name'], '<br />'; echo '<hr />'; echo '<br /><br />'; } else { // Sinon on affiche une erreur pour le champ vide echo '<b>Le champ du formulaire est vide !</b><br /><br />'; } } ?>

Re: Script upload et accents

Posté : 18 janv. 2011, 14:07
par xTG
Il n'y a pas de boucle, comment peut-il tourner dans le vide ?
Ou ne voulais-tu pas dire qu'il ne fait rien ? Dans ce cas es-tu sûr que ce n'est pas un problème d'encodage ou bien de caractère non pris en compte dans ton replace ?

Re: Script upload et accents

Posté : 18 janv. 2011, 18:48
par fxav
oui je me suis mal expliqué, je voulais dire qu'il ne se passait rien. (en fait j'ai la roue de la page qui charge qui tourne indéfiniment)