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 :
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
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>
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 <div id="mainbody" > <h3>» AJAX upload</h3> <div id="upload" > <span>Upload File</span> </div> <span> <span> <span id="status" ></span> <ul id="files" ></ul> </span> </span></div>
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.
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"; } ?>
Merci d'avance à ceux qui prendront un peu de temps pour moi !
dorian
Partager