[php] explode et switche .!!

Résolu
Maroc-OS Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
Maroc-OS Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -
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 ??
Configuration: Windows XP
Firefox 3.0.1

9 réponses

  1. toto
     
    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
  2. Yorundr Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   44
     
    un preg_match avec une expression reguliere, non ?
    0
  3. Maroc-OS Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   6
     
    $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
  4. Yorundr Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   44
     
    Je peut pas trop te répondre parce j'ai pas trop compris ce que tu voulais faire...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Maroc-OS Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   6
     
    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
  7. Maroc-OS Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   6
     
    ouiiii ça marche trééééés bien mon ami toto merci trés bien encore une fois
    0
  8. Maroc-OS Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   6
     
    il y a une autre solution car cella là, ça ne marche pas pour toutes les hébergements :(
    0
  9. toto
     
    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
  10. Maroc-OS Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   6
     
    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