Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/05/2007, 01h28   #1
Membre du Club
 
Inscription : janvier 2007
Messages : 149
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 149
Points : 51
Points : 51
Par défaut lien vers une image

Bonjour,

j'ai un problème pour faire un lien vers une image.
En fait je crée un dossier avec php mais dans le nom de celui-ci il y a un accent.
Le dossier s'appelle 'fé' le code que j'utilise est celui-ci
Code :
1
2
3
4
5
$f=$_SESSION['login'].'/';
$fic='img/members/';	
$album=$nom_album;
$fichier=htmlspecialchars($fic.$f.$album);
echo mkdir($fichier,0777) ? 'ok' : 'pasok' ; //creation physique de l'album
sur le serveur le dossier prend le nom suivant : fé


puis j'upload des images dedans et je les fais s'afficher avec le code suivant :
Code :
echo"<tr><td rowspan=5 width=\"10%\" class=\"image\"><a title=\"$aff_im[label]\" href=\"img/members/$_SESSION[login]/$aff_al[nom_album]/$aff_im[url]\" ><img width=\"200\"src=\"img/members/$_SESSION[login]/$aff_al[nom_album]/miniature/$aff_im[url]\" class=\"lienimage\"></a></td>";
le probléme est du au nom bizarre que prend le dossier, le chemin pour afficher l'image ne correspond plus à celui enregistré dans la base de donnée.

Est-ce que quelqu'un aurait une solution pour enregistrer correctement les noms de dossier avec des accents quand on crée un dossier.
Je remercie d'avance celui qui m'aidera.
stars333 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2007, 10h19   #2
Membre confirmé
 
Inscription : avril 2007
Messages : 254
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 254
Points : 262
Points : 262
Il y a surement une solution à ton problème mais elle ne sera pas aussi simple que celle de ne pas mettre des caractères accentués dans des noms de fichiers et de dossiers. Donc soit tu perds des heures à peaufiner une solution bancale, soit en 3 secondes, tu changes le nom du dossier.
Ouach est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2007, 11h23   #3
Membre du Club
 
Inscription : janvier 2007
Messages : 149
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 149
Points : 51
Points : 51
oui mais sur mon site je ne peux pas dire aux personne qui vont créé un album
de ne pas mettre d'accent dans son nom.
J'ai bien une solution mais elle ne me parait pas trés élégante. Je pourrais mettre l'id de l'album comme nom physique du dossier et toujours stocker le nom dans la base de donnée mais cette solution ne me parais pas très élégante.
stars333 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2007, 12h07   #4
Membre confirmé
 
Inscription : avril 2007
Messages : 254
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 254
Points : 262
Points : 262
Essaies donc ça:
Code :
1
2
3
4
5
6
7
8
<?php 
	function normaliser($localNom)
	{
		$original = "äâàãçëêéèïîìöôòõüûùÿ²³'?|@#(§!{})[]$*%µ£<>,.;/:+=~";
		$normalise = "AAAACEEEEIIIOOOOUUUY                             ";
		return(str_replace(" ","",strtoupper(strtr(str_replace("&","ET",$localNom),$original,$normalise))));
	}
?>
Cette fonction enlève de l'input tout caractères exotiques et accentués. Il enève également les espaces. Et il mets tout en majuscule.
à optimaliser pour ceux que cela intéresse...
Ouach est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h45.


 
 
 
 
Partenaires

Hébergement Web