problème PHP

  • Auteur de la discussion Auteur de la discussion trez
  • Date de début Date de début
WRInaute discret
Bonjour,
je récupère en php une variable de ce type :

$site = "http://www.site.com/rep1/rep2/index.php";

Ce que je veux en récuperer c'est: /rep1/rep2
Avec la fonction parse_url , je récupere bien : /rep1/rep2/index.php

mais comment faire pour supprimer ce index.php pour n'avoir que le repertoire de la page : /rep1/rep2/
En gros j'aimerais faire un test pr savoir si c'est une page ou un repertoire , ca doit pourtant etre bidon mais je vois pas comment faire !

je sais pas si vous avez compris, je dois mal m'exprimer ...
 
WRInaute passionné
Code:
<?php
if(substr($site,-10)=="/index.php")
 {
 $site = str_replace("/index.php", "", $site);
 }
?>
 
WRInaute impliqué
Un truc dans le genre:
Code:
$site = "http://www.site.com/rep1/rep2/index.php"; 
$r = parse_url( $site );
echo dirname($r['path']);
 
WRInaute discret
attention ce n'etait qu'un exemple

je peux recupérer :

$site = "http://www.site.com";
$site = "http://www.site.com/test/"; => OK avec parse_url je recupere bien /test/

$site = "http://www.site.com/test/tata.html";
$site = "http://www.site.com/test/titi.html";
$site = "http://www.site.com/test/toto.html";
etc ..

Dans ces 2 derniers exemples je veux extraire /test/
 
WRInaute discret
shrom a dit:
Un truc dans le genre:
Code:
$site = "http://www.site.com/rep1/rep2/index.php"; 
$r = parse_url( $site );
echo dirname($r['path']);

Merci ;) ca marche si j'ai
Code:
$site = "http://www.site.com/rep1/rep2/index.php";
mais ca marche plus si j'ai
Code:
$site = "http://www.site.com/rep1/rep2/";

par contre avec simplement parse_url , ca marche si j'ai juste :
Code:
$site = "http://www.site.com/rep1/rep2/";

ahhh j y suis presque :lol:
 
WRInaute discret
e-kiwi a dit:
trouve la position du dernier slah, et garde tout ce qui a avant :-)

OK Merci :wink:
Ca marche , mais comment faire si je recupere un lien de ce type :
"http://www.site.com/rep1/rep2 sans / a la fin ? :oops:
 
WRInaute accro
hmmm

verifie si apres le dernier point la chaine est "php", "htm", "html", "asp"... pour voir si c est une page appelée ou un repertoire.
si il n y a pas d extension, rajoute un / à la fin de la chaine et ensuite applique ta fonction vu au dessus :-) sinon c est une page appelée
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut