Page 1 sur 1

is_dir ne voit pas mes dossiers comme tel

Posté : 10 juin 2015, 00:13
par westernz
Bonjour,

Voici mon code de test :

Code : Tout sélectionner

<?php $dir = './photos'; $files1 = scandir($dir); print_r($files1); echo '<br>========<br>'; foreach ($files1 as $key => $file) { if (is_dir($file)) {echo $file.' => ';} } ?>

Voici mon résultat. Ce sont tous des répertoires.
Array ( [0] => . [1] => .. [2] => 123 [3] => dossier [4] => en_cours [5] => sport [6] => test [7] => titi [8] => toto )
========
. => .. => sport =>

Je ne comprend pas. J'ai pourtant déjà réussit à en créer un autre, supprimé depuis. Et le dossier photo est bien lu comme tel.
Pourquoi mes dossiers ne sont pas reconnus et comment remédier à cela ?
J'ai tenté de crée mes dossier directement sur le serveur via dreamweaver, directement via mozilla, de créer en local puis de les up.

Bonne journée

Re: is_dir ne voit pas mes dossiers comme tel

Posté : 10 juin 2015, 00:29
par Genova
Ton chemin est incomplet, tu dois faire ça :
foreach ($files1 as $key => $file)
{
   if (is_dir($dir.$file)) {echo $file.' => ';}
}

Re: is_dir ne voit pas mes dossiers comme tel

Posté : 10 juin 2015, 00:30
par tof73
un truc du genre :
if (is_dir($dir."/".$file))

Re: is_dir ne voit pas mes dossiers comme tel

Posté : 10 juin 2015, 00:49
par westernz
Bha non.
Mon chemin est bon sinon il ne trouverai pas le dossier photos.
$file contient déjà le chemin

C'est juste qu'il trouve un seul dossier et ne voit pas les autres.

Ca me semble absurde.
J'ai beau chercher je ne voit pas.

Re: is_dir ne voit pas mes dossiers comme tel

Posté : 10 juin 2015, 01:08
par Genova
La solution que je t'ai donné fonctionne, à part qu'il faut ajouter un "/" entre les deux, donc if (is_dir($dir."/".$file)).

Dans ta boucle, $file vaut par exemple "sport", par rapport au dossier "./photos". Or toi tu n'es pas dans ce dossier, mais dans le dossier parent, donc il faut que tu donnes le chemin complet.

Re: is_dir ne voit pas mes dossiers comme tel

Posté : 10 juin 2015, 01:16
par westernz
Ha oui, effectivement... punaise.
C'est juste qu'il y avait un autre dossier du même nom plus bas en hiérarchie. et que je n'avais pas fais cette erreur pour les sous-dossier ...
Je comprend mieux pourquoi je ne comprenais pas.

Merci beaucoup ! !