Probleme avec les repertoire !!!!!!

rich25200 Messages postés 155 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 31 janvier 2008 - 24 juin 2005 à 10:52
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 25 juin 2005 à 02:20
Bonjour,



J'ai ce code (voir ci dessous) qui considere que je n'ai que des
fichiers sur mon repertoire !! Meme s'il y a un repertoire il le prend
comme fichier pk?



//ouvre le lecteur cd

$chem = opendir($lecteurcd);

//nécessaire pour compter le nbre de ligne pour insertion

$nbrLign = 0;



//variable pour savoir si la ligne est colorié ou pas on va divier et savoir s'il est pair ou non

$colorie = 1;



//tant qu'il y a des fichiers

while (false !($dir readdir($chem)))

{

$nbrLign++;



//var_dump (is_file('c:/sxs/msxml4.cat'));



//si ce n'est pas un répertoire il enlève les extensions

if (!is_file($dir)) <-------------------------------------a ce moment la il va dans cette boucle que ca soit un repertoire ou pas !!! pk??????

{

print " reper
";

//je récupère l'info du fichier (extension...)

$exten = pathinfo ($dir);



// j'enlève l'extension

$file = basename ($exten["basename"],".".$exten["extension"]); <------- la il me fait une erreur quand c'est un repertoire ce qui est normal car un repertoire n'a pas d'extension !!! lol



?><tr class="<?

// s'il n'y a pas de reste c'est pair

if ($colorie%2==0) { print 'EntrTab'; }

else { print ""; } ?>">



<td>



"
type="text" id="nom" value="<? print $file; ?>" size="30">


</td>

<td>



<textarea name="description<? print $nbrLign;
?>" cols="40" rows="2" id="description<? print $nbrLign; ?>"
></textarea>


</td>

<td>





<select name="categorie<? print
$nbrLign; ?>" id="categorie<? print $nbrLign; ?>">


<? writeDropList ("select
nomcat from categorie order by nomcat asc", "nomcat") ?>

</select>




</td>

<td>



"
type="checkbox" id="controler<? print $nbrLign; ?>"
value="oui">


</td>

</tr>

<?

$colorie++;

}



//sinon si c'est un repertoire je l'affiche
else <------------------------------------- 2ieme boucle

{ print "pas un repertoire
";

?><tr class="<?

// s'il n'y a pas de reste c'est pair

if ($colorie%2==0) { print 'EntrTab'; }

else { print ""; } ?>">


<td>
" type="text" id="nom<? print
$nbrLign; ?>" value="<? print $dir; ?>" size="30">


</td>

<td>



<textarea name="description<? print $nbrLign;
?>" cols="40" rows="2" id="description<? print $nbrLign; ?>"
></textarea>


</td>

<td>





<select name="categorie<? print
$nbrLign; ?>" id="categorie<? print $nbrLign; ?>">


<? writeDropList ("select
nomcat from categorie order by nomcat asc", "nomcat") ?>

</select>


</td>

<td>



"
type="checkbox" id="controler<? print $nbrLign; ?>"
value="checkbox">


</td>

</tr>

<? $colorie++;

}

}



Si quelqu'un pouvait m'aider car la je comprend pas !!!!

closedir($chem);

8 réponses

cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
24 juin 2005 à 11:01
Sur un systeme de type UNIX, un dossier est un fichier
particulier, testes d'abord avec la fonction is_dir() pour savoir si un
fichier est un repertoire ou pas. Peut etre que sous windows c'est la
meme chose, mais j'en suis pas sur.



De plus, un fichier a pas forcement d'extension.



Avec ton systeme si tu a des .htaccess, tu n'auras pas de nom de fichier mais qu'une extension, lol

"They are 10 sorts of persons whose understand binary and whose not"
0
rich25200 Messages postés 155 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 31 janvier 2008
24 juin 2005 à 11:30
j'ai deja tester avec is_dir et quand je met is_dir il saute sur
l'autre boucle !! en fait il me considere que tous sont des fichiers
!!!!
0
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
24 juin 2005 à 11:38
lis ton post précédent.



as tu bien lu un dossier et un FICHIER donc si tu fais ton is_file avant ton is_dir ca ne marchera jamais.




"They are 10 sorts of persons whose understand binary and whose not"
0
rich25200 Messages postés 155 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 31 janvier 2008
24 juin 2005 à 11:47
oui j'ai bien lu un dossier il y a bien un dossier et un fichier dans mon chemin...
0

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

Posez votre question
cs_garfield90 Messages postés 388 Date d'inscription lundi 7 juillet 2003 Statut Webmaster Dernière intervention 10 février 2009
24 juin 2005 à 11:49
traduction :



dossier = fichier



quand je disais si tu avais bien lu c'était pas pour le dossier mais pour le post




"They are 10 sorts of persons whose understand binary and whose not"
0
lnp Messages postés 96 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 24 octobre 2007
24 juin 2005 à 11:55
Pas mal cette conversation ! On dirait que vous ne vous comprenez pas ! ! !

Allé ! On respire et on recommence... tout doucement...



LNP...

pour vous...
0
rich25200 Messages postés 155 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 31 janvier 2008
24 juin 2005 à 12:01
regarder dans l'autre post il y a mon probleme.....



"Test si c'est un repertoire ou un fichier !!"

sur mon script mon ordi considere que tous sont des ficheirs meme le dossiers windows !!!!
etonnant non??



voici le script :



<?php



if ($handle = opendir('C://')) {

/* Ceci est la façon correcte de traverser un dossier.*/



while (false !($file readdir($handle))) {

if (is_dir($file))

{ echo "c'est un repertoire: ".$file."
"; }

else

{ echo "c'est un fichier: ".$file."
"; }

}

closedir($handle);

}

?>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 juin 2005 à 02:20
Salut,



c'est normal, tu as oublié de placer le dossier :


<?php

if ($handle = opendir('C://'))

{ while (false !($file readdir($handle))) {
if (is_dir('C://'.$file))
{

echo 'c\'est un repertoire: ',$file,'
';

}
else
{

echo 'c\'est un fichier: ',$file,'
';

}
}
closedir($handle);
}
?>
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
Rejoignez-nous