IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] accents upload image


Sujet :

AJAX

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut [AJAX] accents upload image
    Bonjour à toutes et à tous,

    J'ai pris un script ajax/php d'upload multiple d'image et l'affichant an miniature après l'upload. J'ai su rajouter quelques lignes dans la page php qui upload les images pour enlever les accents, mais lorsque j'affiche le nom et l'image, l'accent reste ... donc il n'affiche pas l'image ...

    Voici le code ajax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <script type="text/javascript" >
    	$(function(){
    		var btnUpload=$('#upload');
    		var status=$('#status');
    		new AjaxUpload(btnUpload, {
    			action: 'upload-file.php',
    			name: 'uploadfile',
    			onSubmit: function(file, ext){
    				 if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){ 
                        // extension is not allowed 
    					status.text('Only JPG, PNG or GIF files are allowed');
    					return false;
    				}
    				status.text('Uploading...');
    			},
    			onComplete: function(file, response){
    				//On completion clear the status
    				status.text('');
    				//Add uploaded file to list
    				if(response==="success"){
    					$('<li></li>').appendTo('#files').html('<img src="./uploads/'+file+'" alt="" /><br />'+file).addClass('success');
    				} else{
    					$('<li></li>').appendTo('#files').text(file).addClass('error');
    				}
    			}
    		});
     
    	});
    </script>
    Le contenu de la page index.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <div id="mainbody" >
      <h3>&raquo; AJAX upload</h3>
      <div id="upload" >
        <span>Upload File</span>
      </div>
     
    <span>
      <span>
        <span id="status" ></span>
        <ul id="files" ></ul>
      </span>
    </span></div>
    Et voici le code php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
    function no_accent($str_accent) {
       $pattern = Array("/é/", "/è/", "/ê/", "/ç/", "/à/", "/â/", "/î/", "/ï/", "/ù/", "/ô/");
       // notez bien les / avant et après les caractères
       $rep_pat = Array("e", "e", "e", "c", "a", "a", "i", "i", "u", "o");
       $str_noacc = preg_replace($pattern, $rep_pat, $str_accent);
       return $str_noacc;
    }
     
    $uploaddir = './uploads/'; 
    $file = $uploaddir . basename($_FILES['uploadfile']['name']); 
    $file=no_accent($file);
    if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 
      echo "success"; 
    } else {
            echo "error";
    }
    ?>
    Donc si j'upload néné.jpg, elle se met bien comme nene.jpg dans /uploads, mais sur la page index.php, il est marqué néné.jpg et donc l'image ne s'affiche pas en dessous.


    Merci d'avance à ceux qui prendront un peu de temps pour moi !

    dorian

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 40
    Points
    40
    Par défaut
    Bonsoir,

    Tu veux aussi renommer ton image côté client, si j'ai bien compris. Par exemple, tu peux utiliser la fonction noaccent de cette page sur file dans ton onComplete

    Tu peux même le faire avant de soumettre, ce qui peut t'éviter d'avoir à le mettre dans ton PHP mais attention, ce sera exécuté côté client donc sans garantie aucune. Par exemple, j'ai l'impression que tu filtres le type de fichier uniquement côté client, que se passerait-il si quelqu'un s'amuse à appeler directement ton PHP ?

Discussions similaires

  1. [AJAX] Upload image en ajax
    Par Laurelaie dans le forum AJAX
    Réponses: 4
    Dernier message: 15/10/2009, 13h21
  2. [AJAX] upload image
    Par calitom dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/12/2008, 12h10
  3. [AJAX] Rafraichir / upload image
    Par vince.bbob dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 10/04/2008, 20h42
  4. [AJAX] upload image + recup variable
    Par minimoof dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 31/05/2007, 21h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo