Condition qui fonctionne mal dans un explorateur de fichier, help...

cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011 - 3 janv. 2009 à 03:44
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011 - 6 janv. 2009 à 22:30
Bonjour

Je créais pour l'administration d'un site un explorateur de dossier/fichier, jusque là tout va bien. Mais je cherche à masquer les fichiers servants à l'explorateur avec une vérif conditionnelle, maintenant j'ai rajouter une autre condition interne à celle ci qui vérifie si l'entité est un dossier ou un fichier pour savoir quel image elle doit chargé, et depuis la première condition ne filtre plus, les fichiers qui devraient être invisible ne le sont plus.

Pour information, pour la première conditionnelle j'ai du utilisé "AND" au début car "OR" ne veut pas marcher, même en symbole"&& - ||".
Le script ci dessous :
<hr size="2" width="100%" />    $d = dir(".");

    while($entry = $d->read()) {
        if ($entry != "." OR $entry != ".." OR $entry != "index.php" OR $entry != "img_file_bullet___.png" OR $entry != "img_folder_bullet___.png")
        {
        // faire un putain de div qui va bien pour chaque item !!!
        //echo '
' . $entry . '. $server . $entry . ' ' . $entry . '';
                $folder_count++;
            }
            else
            {
                echo '. $server . $entry . ' ' . $entry . '';
                $file_count++;
            }
        }
    }
    $d->close();
<hr size="2" width="100%" />
Ah autre info, soyez tolerants j'ai commencer le php pour la première fois il y'a deux jours, merci "siteduzero" !!! Et la prog web en génaral y'a deux mois, en fait à la base je suis un mordu VB6 depuis 10 ans déja...

Guillaume

8 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
3 janv. 2009 à 09:07
Salut Guillaume,

Pourquoi utilises tu un OU ? C'est un ET qu'il faut :

if ($entry != "." OR $entry != ".." OR $entry != "index.php" OR $entry
!= "img_file_bullet___.png" OR $entry != "img_folder_bullet___.png")
=>
if ($entry != "." AND $entry != ".." AND $entry != "index.php" AND $entry
!= "img_file_bullet___.png" AND $entry != "img_folder_bullet___.png")

Cordialement,

Kohntark-
0
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011
4 janv. 2009 à 15:02
Salut Kohntark,

Un AND ???

ça ne me parait pas logique ou bien j'ai raté un épisode lors de mon auto formation

Dans ma logique une variable simple (non array) ne peut contenir qu'une valeur. Je verifie la quelle est-elle.
<hr size="2" width="100%" />
Si ($MaVariable != 'Papa' OU $MaVariable != 'Maman'){
   Echo 'Pas mes parents';
}
else{
   Echo 'Papa ou maman';
}
<hr size="2" width="100%" />Enfin je sait pas moi je vois ça comme ça, je suis peut être newbie en PHP mais ça fait plus de 10 ans que je fait du VB et j'ai toujours procédé de la sorte...

Alors peut être que je me trompe mais en tout cas pour info, j'ai tellement cherché que j'ai aussi essayé le AND, ça ne marche pas (ce qui me parait normal) bien que la chose étrange est que ça marchait lorsque je n'avais que 2 valeurs à tésté avec le AND...

Donc tu a peut être raison, mais étant un peu buté pourait tu dévollopé ?

Guillaume
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
4 janv. 2009 à 15:53
Bah nan !!

$MaVariable = 'Papa';

Si ($MaVariable != 'Papa' OU $MaVariable != 'Maman'){
> (Papa ! Papa) OU (Papa != Maman)
> false OU true true
=> Pas mes parents

Par contre :
Si ($MaVariable != 'Papa' ET $MaVariable != 'Maman'){
> (Papa ! Papa) OU (Papa != Maman)
> false ET true false
=> Papa ou maman

Cordialement,

Kohntark -
0
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011
6 janv. 2009 à 14:27
Vue sous cet angle...

De toutes façon que je mette des OU ou des ET ça ne marche pas lol

Guillaume
0

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

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
6 janv. 2009 à 20:14
Salut,

Je ne vois aucune raison qui pourrait faire que ça ne fonctionne pas.
J'ai même refais le test chez moi pour voir si je n'avais pas zappé qq chose => ça marche !

Cordialement,

Kohntark-
0
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011
6 janv. 2009 à 22:03
En fait, je copie le fichier dans chaque répertoire dans lesquelles je veux l'utiliser, et c'est là que le problème vient, les images ne charge plus comme il faut, mais en fait de toutes façons mon script est merdic il faut que je fasse tout l'explorateur en un seul fichier.php. voila.

Guillaume
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
6 janv. 2009 à 22:26
Là que le problème vient ? ... quelque soit le reste de ton script il n'y a aucune raison (ou plus exactement je n'en vois pas) pour que ton if ne fonctionne pas.
Tout ce qu'il a dans ce if ne doit pas apparaitre, que le chemin de l'image existe ou pas.

Si tu as besoin n'hésites pas à poster ton script que tu juges "merdic"

Bon courage,

Kohntark -
0
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011
6 janv. 2009 à 22:30
Je te remerci.

Disons que comme je débute ce scrip était un peut là pour tester, à présent je suis emmerder sur une page beaucoup plus grosse sur des fonction innerHTML dans du javascript... Plante sous IE alors que je ne comprend pas pourquoi...

Guillaume
0
Rejoignez-nous