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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Parser une url ?


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Parser une url ?
    Bonjour à toutes et à tous :

    Voilà, j'ai une petite question :
    Grâce à la variable $_SERVER['REQUEST_URI'] je peux récupérer le chemin de mon fichier sur mon serveur.
    J'obtiens ainsi une chaine de carctères de ce type : "/menu/index.php/linstitut/plan-dacces"

    Mon objectif serait de pouvoir récupérer dans une variable, l'intituler qui se place juste après index.php/. Soit dans cette exemple récupérer "linstitut".

    Il y a de grande chance que mon url s'agrandisse par la suite devenant "/menu/index.php/linstitut/plan-dacces/mon-new-chemin", et c'est sur linstitut que je souhaite effectuer un test.

    Malheureusement la fonction parse_url() ne fonctionne pas sur ce type d'url...
    Je me demande si il serait judicieux de créer un REGEX qui récupérer la chaine de caractère comprise entre les deux / qui suivent index.php ?
    Si il existe une autre méthode, je suis preneur, les REGEX ne sont pas mon fort, car la je patine beaucoup et j'aimerais pouvoir avancer.

    Merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    $_SERVER['PATH_INFO']

  3. #3
    Membre du Club Avatar de Netek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 57
    Points : 67
    Points
    67
    Par défaut
    ca fait peut etre usine a gaz mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $tab = explode('/index.php/',$_SERVER['REQUEST_URI']);
    // Tu as donc $tab[0] = "/menu" et $tab[1] = "linstitut/plan-dacces/mon-new-chemin"
    $tab = explode('/',$tab[1]);
    // $tab[0] = "linstitut"
    Vive le bidouillage
    Développeur web netek.fr PHP, MySQL, Ajax, jQuery, Drupal, Magento

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    $_SERVER['PATH_INFO']
    Bien vu bien vu !

    J'utilisais un petit script choper sur la doc php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    echo '<table border="1">';
    	foreach ($_SERVER as $k => $v){
    		echo "<tr><td>" . $k ."</td><td>" . $v . "</td></tr>";
    	}
    	echo "</table>";
    En local il ne m'affichait pas cette variable, mais sur le serveur il l'affiche.
    Du coups, grâce à ca, j'ai le chemin suivant :
    PATH_INFO : /linstitut/nos-partenaires

    Ca va être plus simple à traiter ainsi ! Merci en tout cas de la rapidité de vos réponses, ca m'a grandement aidé !

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'as quel serveur en local ?

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    J'ai installé xampp, donc j'ai un serveur apache.

    Apache Version : Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8

    Pourquoi ? Ce n'est pas normal le non affichage de la variable PATH_INFO ?

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    si t'es en module apache je trouve ça bizarre que ça ne s'affiche pas, normalement t'as PATH_INFO et PATH_TRANSLATED quand tu fais un adresse du type :
    http://exemple.com/index.php/test

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

Discussions similaires

  1. [RegEx] parser une url recupérer nom de domaine
    Par angelzeke dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2009, 08h31
  2. Parser une url dans un string au format texte
    Par andromeda dans le forum C#
    Réponses: 2
    Dernier message: 02/02/2009, 04h16
  3. Rome RSS: j'arrive pas à parser une url xml
    Par amine84 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 16/12/2007, 13h27
  4. parser une url relative
    Par yule dans le forum Langage
    Réponses: 5
    Dernier message: 11/03/2006, 09h47
  5. Parser une URL
    Par pekka77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2005, 12h34

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