Extraction d'URL

Signaler
Messages postés
1
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
17 février 2007
-
Messages postés
30
Date d'inscription
samedi 19 avril 2003
Statut
Membre
Dernière intervention
13 mars 2007
-
Salut à tous :)
Quand j'utilise ce script pour extraire le nom d'un repertoire par exemple tout se passe bien (la séparation se fait à l'aide des /)

$url = $_SERVER['PHP_SELF'];
$explosion = explode("/", $url);
while (list($indice, $valeur) = each($explosion))
$reper = "$explosion[1]";

echo "repertoire : $reper";

Supposont que le fichier est situé à l'endroit suivant : http://server.com/mon_dossier/index.php
tout se passe bien !

Mais si on ajoute un / à la fin de index.php cela ne fonctionne plus ! La variable $reper est vide et je ne comprend pas pourquoi 
Pouvez vous m'aider ?

2 réponses

Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
je comprend rien a ton code...
Aucune indentation, aucun typage...

on va essayer de t'aider mais c'est du freestyle:

<?php
$sUrl = 'http://server.com/mon_dossier/index.php';
$aExplosion = explode("/", $sUrl);
//print_r($aExplosion);
foreach($aExplosion as $sString){
    if($sString=='index.php'){
        //on ne concatene pas
    }
    else{
        $sUrl2.=$sString.'/';
    }
}

echo $sUrl2;

?>

--------------------------------------------------------------------------------------------------
         Ilvaut mieux poser une question et passer pour bête que le rester toutesa vie
Messages postés
30
Date d'inscription
samedi 19 avril 2003
Statut
Membre
Dernière intervention
13 mars 2007




Essaye ca, ca devrait marcher pour le cas dont tu parles et les autres cas "normaux" 
<?php

$url 
= 
'http://username:password@hostname/path/trucbidule/test.php/'
;







echo basename(
parse_url
(
$url
, 
PHP_URL_PATH
)); // renvoi test.php

?>