IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] remplacer les espaces dans URL


Sujet :

Langage PHP

  1. #1
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut remplacer les espaces dans URL
    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 !!!

  2. #2
    Membre éprouvé
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Points : 953
    Points
    953
    Par défaut
    Tu peux mettre la partie de ton code concernée ? Pcq je vois pas trop la situation

  3. #3
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    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";
    la variable $repPhoto tout comme $file peut contenire des espaces donc sa beug lorsque le script essaye de lire l'image.

    MERCI

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    Jette un oeil sur cette fonction : urlencode

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par jmjmjm
    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";
    la variable $repPhoto tout comme $file peut contenire des espaces donc sa beug lorsque le script essaye de lire l'image.
    Il faut délimiter les propriétés X/HTML avec ' ou ", autrement oui, regarde (raw)urlencode( ).

  6. #6
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Citation Envoyé par Séb.
    Il faut délimiter les propriétés X/HTML avec ' ou "
    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é:
    <a href=/exemple/mon repertoire/ma[ici le navigateur attends un "=quelquechose"] photo.jpg target=_blank>
    donc les quotes permettent de mettre des attributs contenant un espace.
    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";
    ou pour faire plus propre
    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;
    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...

    De plus, tu respectes mieux les recommendations W3C en mettant des quotes et en ajoutant la balise alt pour l'image.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    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

  8. #8
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    merci zulot mais c'est la solution que j'avais trouvé hier soir !!
    mais pour ska_root ton premier code marche niquel
    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";
    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
    4
    5
     
     
    echo <<<EOF
    <a href="$RepPhoto/$file" target="_blank"><img src="$RepPhoto/$file" width="150" border="0" alt="" /></a>
    EOF;

  9. #9
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    attention, pour que cela fonctionne il faut impérativement que la fin du block soit en début de ligne.

    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" />
    ?>
    copies-colles ce bout de code dans un fichier pour tester...

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Citation Envoyé par jmjmjm
    merci zulot mais c'est la solution que j'avais trouvé hier soir !!
    mais pour ska_root ton premier code marche niquel
    [code]
    Ah dsl d'avoir été trop lent alors ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 22/04/2009, 16h43
  2. Remplacer les espaces dans un texte
    Par jouclar dans le forum Général Python
    Réponses: 13
    Dernier message: 25/05/2008, 23h26
  3. Remplacer les espaces d'une URL par un tiret
    Par Tee shot dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2007, 00h02
  4. [VBA-A]Remplacer les espaces dans un champ texte
    Par Ericka dans le forum VBA Access
    Réponses: 6
    Dernier message: 17/05/2006, 15h31
  5. Remplacement des espaces dans les valeur d'un tableau
    Par calimero642 dans le forum Langage
    Réponses: 10
    Dernier message: 12/05/2006, 18h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo