[php] explode et switche .!!

Résolu/Fermé
Maroc-OS Messages postés 14 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 25 novembre 2010 - 26 août 2008 à 06:34
Maroc-OS Messages postés 14 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 25 novembre 2010 - 10 sept. 2008 à 02:36
Bonjour,
$i = 2;
$user_location = $_SERVER['PHP_SELF'];
$user_location = explode('/',$user_location);
if ($user_location != explode('.php',$user_location))
{
$user_location = $user_location[$i++];
}
else
{
$user_location = $user_location[2];
}
switch ($user_location)
{
case 'core.php':
$u_location = 'hhhhhhh tu es dans le fichier core.php';
break;
...........

celui là est mon code ou bien une petite partie de mon code.

comment je peut faire pour que si la partie ne contien pas .php ou bien le point . (s'il ya dautre extension de pages) $i++ tourne dans le premier IF ??
A voir également:

9 réponses

bonjour

$user_location = $_SERVER['PHP_SELF']; 

switch (substr($user_location,-9)) 
{ 
case '/core.php': 
$u_location = 'hhhhhhh tu es dans le fichier core.php'; 
break; 


ça ne serait pas ça que tu veux ?
2
Yorundr Messages postés 289 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 11 juin 2012 44
26 août 2008 à 12:01
un preg_match avec une expression reguliere, non ?
0
Maroc-OS Messages postés 14 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 25 novembre 2010 6
26 août 2008 à 20:51
$i = 1;
$user_location = $_SERVER['PHP_SELF'];
$user_location = explode('/',$user_location);
$user_location = $user_location[0];

if (preg_match("/.php/", $user_location[1]))
{
$user_location = $user_location[1];
}

else
{
$user_location = $user_location[$i++];
}


switch ($user_location)
{
case 'core.php':
$u_location = 'hhhhhhh tu es dans le fichier core.php';
break;
...........


j'ai esayé plusieur truc mais tjr pas de résultat satisfait, le truc que j'ai trouvé plus proche c'est celui là mais :(
0
Yorundr Messages postés 289 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 11 juin 2012 44
27 août 2008 à 15:48
Je peut pas trop te répondre parce j'ai pas trop compris ce que tu voulais faire...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Maroc-OS Messages postés 14 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 25 novembre 2010 6
27 août 2008 à 18:10
ok ami ;)

je vais expliqué un petit peut:

si vous aver un dossier sur ta racing de votre domain et tu as posé ton scripte laba

$user_location = $_SERVER['PHP_SELF'];
$user_location = explode('/',$user_location);
$user_location = $user_location[2];

switch ($user_location)
{
case 'core.php':
$u_location = 'hhhhhhh tu es dans le fichier core.php';
break;
...........

$user_location ici c'est votre fichier.php donc ce scripte ça marche parfaitement

mais si vous avez un dossier sous un autre est ainsi de suite.

là $user_location ça ne marche jamais il faut que je fais une astuce pour qu'elle détecte automatiquement votre dossier de scripte ou bien le fichier qu'il a une extension .php

si .php est dans $user_location[1] c'est bon si non en vas ajouter 1 chaque fois pour qu'on trouve la résultat satisfait

voila maintenant je crois que tout est claire ;) et merci d'avance cher ami
0
Maroc-OS Messages postés 14 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 25 novembre 2010 6
27 août 2008 à 18:59
ouiiii ça marche trééééés bien mon ami toto merci trés bien encore une fois
0
Maroc-OS Messages postés 14 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 25 novembre 2010 6
Modifié par Maroc-OS le 19/11/2010 à 06:54
il y a une autre solution car cella là, ça ne marche pas pour toutes les hébergements :(
0
pour les hébergements pour lesquels ça ne marche pas, peux-tu faire :
 echo '<BR>**',htmlentities($_SERVER['PHP_SELF']),'**<BR>';

pour voir ce qu'ils mettent dans cette variable ? (en particulier si le nom de fichier est bien tout en minuscules)
0
Maroc-OS Messages postés 14 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 25 novembre 2010 6
Modifié par Maroc-OS le 19/11/2010 à 06:53
lool

Bonjour a tous:

j'ai trouver une très belle solution et il est opérationnelle a 100% avec une belle fonction système du PHP strrev()

le rôle de cette fonction et de reversé le résulta, par exemple: on a un lien comme le suivant :
 http://www.google.com/index.html 

en utilisant cette fonction, il se transforme a celui là :
 lmth.xedni/moc.elgoog.www//:ptth

là, pour avoir ce qu'on veux on découpe le lien avant le "/" avec la fonction explode

et voilà ce qu'il donne :
lmth.xedni

il ne rassemble pas à ce qu'on veut, n'est ce pas? donc il reste quoi a faire???

encore une fois la belle fonction strrev()qui serve a rendre inversé le code:
index.html

dans le switch maintenant si case est
"core.php"
avec la fonction print ou echo vous pouvez afficher ce que vous avez écrire dans
$u_location


voila la solution et merci Bcp pour votre aide ;)

$user_location   = $path;   
$user_location   = strrev($user_location);   
$user_location   = explode('/',$user_location);   
$user_location   = $user_location[0];   
$user_location   = strrev($user_location);   

switch ($user_location)   
{    
       case 'core.php':    
       $u_location = ' tu es dans le fichier core.php';    
       break;  
}  

echo $u_location;  
0