Comment remplcer les espace par %20 dans un script php car mon script fais reference a des liens du genre "Photo de la plage" et lors de l'envoi du lien il s'arrete a "Photo".
MERCI et bonne prog !!!
Comment remplcer les espace par %20 dans un script php car mon script fais reference a des liens du genre "Photo de la plage" et lors de l'envoi du lien il s'arrete a "Photo".
MERCI et bonne prog !!!
Tu peux mettre la partie de ton code concernée ? Pcq je vois pas trop la situation
la variable $repPhoto tout comme $file peut contenire des espaces donc sa beug lorsque le script essaye de lire l'image.
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "<a href=$RepPhoto/$file target=_blank><img src=$RepPhoto/$file width=150 border=0 /></a>\n";
MERCI
Jette un oeil sur cette fonction : urlencode
Il faut délimiter les propriétés X/HTML avec ' ou ", autrement oui, regarde (raw)urlencode( ).Envoyé par jmjmjm
exact, si tu ne mets pas de quote à l'attribut de la propriété, ce qui suit l'espace est traité comme une autre propriété:Envoyé par Séb.
donc les quotes permettent de mettre des attributs contenant un espace.<a href=/exemple/mon repertoire/ma[ici le navigateur attends un "=quelquechose"] photo.jpg target=_blank>
ou pour faire plus propre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo "<a href=\"$RepPhoto/$file\" target=\"_blank\"><img src=\"$RepPhoto/$file\" width=\"150\" border=\"0\" alt=\"\" /></a>\n";
bien qu'il soit déconseillé de mettre des espaces dans les noms de fichiers (y compris les répertoires), c'est une mauvaise habitude...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 echo <<<EOF <a href="$RepPhoto/$file" target="_blank"><img src="$RepPhoto/$file" width="150" border="0" alt="" /></a> EOF;
De plus, tu respectes mieux les recommendations W3C en mettant des quotes et en ajoutant la balise alt pour l'image.
Sinon un truc tout con a faire c'est utiliser la fonction str_replace avec comme caractere a remplacer l'espace, et le caractere qui le remplacera %20
merci zulot mais c'est la solution que j'avais trouvé hier soir !!
mais pour ska_root ton premier code marche niquel
mais le deuxieme ne passe pas il me retourne une erreur si je remplace la ligne du dessus par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 echo "<a href=\"$RepPhoto/$file\" target=\"_blank\"><img src=\"$RepPhoto/$file\" width=\"150\" border=\"0\" alt=\"\" /></a>\n";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 echo <<<EOF <a href="$RepPhoto/$file" target="_blank"><img src="$RepPhoto/$file" width="150" border="0" alt="" /></a> EOF;
attention, pour que cela fonctionne il faut impérativement que la fin du block soit en début de ligne.
copies-colles ce bout de code dans un fichier pour tester...
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 <?php // declarations pour l'exemple $rep = 'mon repertoire'; $fichierimage = 'ma photo.jpg'; // page web echo <<<EOF <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <head><title>test affichage lien</title></head> <body> <h1>test de l'affichage d'un lien sur une image</h1> <p> <a href="$rep/$fichierimage" target="_blank" /><img src="$rep/$fichierimage" alt="image" /></a> </p> <p>click droit sur l'image et "propriétés" pour voir l'url de l'image et son lien</p> </p> </body> </html> EOF; // pour l'affichage d'un tableau (a la place d'une simple variable) // on entoure le nom de la variable tableau d'accolades // exemple // <a href="${rep['nomRepertoire']}/${rep['nomImage']}" target="_blank" /> ?>
Ah dsl d'avoir été trop lent alors ;-)Envoyé par jmjmjm
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager