Nom de fichier avec caractère accentué
Posté : 27 avr. 2007, 01:53
Bonjour,
J'ai un problème bien étrange.
J'ai 2 fichiers qui recoivent des données d'un formulaire. En fait c'est un album photo en ligne.
D'une part on envoie la photo avec sont nom et description et l'autre parti c'est si on veut modifier le nom la description ou changer la photo.
Les utilisateur mette parfois des espaces ou des caractère accentué dans le nom de fichier de leur photo.
J'ai donc utilisé une petit bout de code bien simple:
Mais la page de update bien sa fonctionne parfaitement.
Et c'est le même code.
Je vous colle le code entier des 2 pages en espérant que vous y verrez se que je n'ai pas vu car sa fait plusieurs jours que je m'y casse la tête.
Merci!
Page ajout.php:
J'ai un problème bien étrange.
J'ai 2 fichiers qui recoivent des données d'un formulaire. En fait c'est un album photo en ligne.
D'une part on envoie la photo avec sont nom et description et l'autre parti c'est si on veut modifier le nom la description ou changer la photo.
Les utilisateur mette parfois des espaces ou des caractère accentué dans le nom de fichier de leur photo.
J'ai donc utilisé une petit bout de code bien simple:
$_FILES["images"]['name'] = str_replace(" ","_",$_FILES["images"]['name']);
$_FILES["images"]['name'] = strtr($_FILES["images"]['name'],
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
Mon problème est que pour la page d'ajout de la nouvelle photo sa ne fonctionne pas du tout les accents et espaces reste là. Mais la page de update bien sa fonctionne parfaitement.
Et c'est le même code.
Je vous colle le code entier des 2 pages en espérant que vous y verrez se que je n'ai pas vu car sa fait plusieurs jours que je m'y casse la tête.
Merci!
Page ajout.php:
if(isset($_POST["submit"]))
{
if($_POST["categorie_id"] >= 1)
{
include("../config.php");
$connect=mysql_connect($host, $login, $password) or die("Could not connect to database in localhost!");
$result=mysql_select_db($db) or die("Could not select database");
$sqlquery="INSERT INTO photos VALUES('','".addslashes($_POST["nom"])."','".addslashes($_POST["description"])."','".$_POST["categorie_id"]."','".addslashes($_POST["ord_affiche"])."','')" or die("Table introuvable");
$queryresult=mysql_query($sqlquery) or die("Could not execute mysql query!");
$id = mysql_insert_id();
if($_FILES["images"]['name'] <> "")
{
$extptmp = explode(".",$_FILES["images"]['name']);
$_FILES["images"]['name'] = str_replace(" ","_",$_FILES["images"]['name']);
$_FILES["images"]['name'] = strtr($_FILES["images"]['name'],
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
if(is_uploaded_file($_FILES["images"]['tmp_name']))
{
move_uploaded_file($_FILES["images"]['tmp_name'], "".$pathImg."photos/img_prod/".$_FILES["images"]['name']."");
$sqlup = "UPDATE photos SET image=\"".$_FILES["images"]['name']."\" where id=".$id."";
$conn = mysql_connect($host, $login, $password) or die ("Erreur de connection");
mysql_select_db($db) or die("erreur de DB");
$rsup = mysql_query($sqlup) or die ($sqlup);
mysql_close($conn);
}
}
header("location: succes_ajout_photos.php?id=$id");
}
else
{
include("../admin/header.php");
echo "<p align=\"center\">Vous devez sélectionner une catégorie!<br><br>SVP revenez en arrière et corrigez.</p>";
include("../admin/footer.php");
die();
}
}
Page update.php:
if(isset($_POST["submit"]))
{
include("../config.php");
$connect=mysql_connect($host, $login, $password) or die("Could not connect to database in localhost!");
$result=mysql_select_db($db) or die("Could not select database");
$sqlquery="update photos set nom=\"".addslashes($_POST["nom"])."\", description=\"".addslashes($_POST["description"])."\", categorie_id=\"".$_POST["categorie_id"]."\", ord_affiche=\"".addslashes($_POST["ord_affiche"])."\" where id=\"".$_POST["id"]."\"" or die("Mise à jour image impossible");
$queryresult=mysql_query($sqlquery) or die("Could not execute mysql query44!");
$sqlsel = "select * from photos where id=\"".$_POST["id"]."\"";
$result1 = mysql_query($sqlsel) or die ("erreur de requete");
$row = mysql_fetch_array($result1);
if($_FILES["images"]['name'] <> "" && $row["image"] <> "")
{
$delete_file=unlink("".$pathImg."/photos/img_prod/".$row["image"]."");
}
if($_FILES["images"]['name'] <> "")
{
$extptmp = explode(".",$_FILES["images"]['name']);
$_FILES["images"]['name'] = str_replace(" ","_",$_FILES["images"]['name']);
$_FILES["images"]['name'] = strtr($_FILES["images"]['name'],
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
if(is_uploaded_file($_FILES["images"]['tmp_name']))
{
move_uploaded_file($_FILES["images"]['tmp_name'], "".$pathImg."photos/img_prod/".$_FILES["images"]['name']."");
$sqlup = "UPDATE photos SET image=\"".$_FILES["images"]['name']."\" where id=".$_POST["id"]."";
$conn = mysql_connect($host, $login, $password) or die ("Erreur de connection");
mysql_select_db($db) or die("erreur de DB");
$rsup = mysql_query($sqlup) or die ($sqlup);
mysql_close($conn);
}
}
echo "<h3 align='center'>Mise à jour accomplise!</h3><center><a href=\"photos/administration.php\">Retour à l'administration</a></center>";
}