[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:
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:
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> |
Et voici le code php :
Code:
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