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