Page 1 sur 1

Lister les fichiers- Probleme de boucle

Posté : 20 avr. 2005, 09:04
par xgregx
Bonjour,

J'ai un piti problème de boucle, voilà le code, j'explique en dessous:

[code]while($f = readdir($dir)){
if(is_file($rep.$f)) {
echo $f."<br /><br />";
echo "<a href='".$rep.$f."'>Cliquer ici pour afficher le fichier excel.</a><br />";
}
else
{echo "Fichier indisponible.";}
}[/code]

En fait j'ai UN seul fichier dans mon dossier, je boucle pour qu'il me le trouve et si il n'y a pas de fichier dans le dossier, j'affiche "Fichier indispo".
Lorsque j'ai mon fichier présent il m'affiche le message d'erreur en double et trouve le fichier mais si le fichier n'est pas là il m'affiche le message en double quand même.
Pouvez vous m'expliquez?
Moi tout ce que je veut c'est vérifier la présence du fichier et si il est là j'affiche le lien vers celui-ci sinon j'affiche le message d'indisponibilité.
Merci, j'ai besoin de vos lumières !

Greg

Posté : 20 avr. 2005, 09:29
par gregood2000
ajoute sa avent ton if(is_file($rep.$f)) {
[php]
$l = array('.', '..');
if (!in_array( $f $l)){ // si le nom de fichier et diff de . ou ..
// affiche
// nota il faudra pas oublier de teste si c est pas un rep ici

}

[/php] a+

Posté : 20 avr. 2005, 09:36
par xgregx
Je teste, merci.

Posté : 20 avr. 2005, 09:38
par xgregx
Il ne manque pas un symbole entre $f $l dans in_array( $f $l) ?

Posté : 20 avr. 2005, 10:21
par gregood2000
donc -> dsl ecrant tros petit :-) if (!in_array( $f, $l)){ // si le nom de fichier et diff de . ou ..

Posté : 20 avr. 2005, 11:45
par Invité
Je résume un peu pour y voir plus clair

j'ai une boucle while qui check tous les fichie du repertoire

il y en a trois: . .. et mon fichier xls (il n'y en aura jamais d'autre).

mon but est d'afficher ce fichier xls si il est présent.

En gros, si mon fichier est différent de .. et . , j'affiche le lien vers ce fichier sinon, j'affiche le message d'indispo.

Mais il me manque un truc car ça marche pas

Posté : 20 avr. 2005, 11:50
par yannag
pour precisions ...

il y a 1 seul fichier a tester ?

pour precision connais tu le non de ce fichier il est constant ou est t'il généré dynamiquement ?
:)

Posté : 20 avr. 2005, 14:00
par Invité
En fait le fichier est unique mais pour plus de souplesse, je fais l'hypothèse que le nom peut changer.

Posté : 20 avr. 2005, 14:42
par gregood2000
[php]
<?php

$dir = @opendir("./");
while($file = @readdir($dir)) // lit chaque fichier du dossier

{

$l = array('.', '..');
if (!in_array( $file, $l)){ // si le nom de fichier et diff de . ou ..
print $file ;
print '<br>';
// ne pas oublier encode les fichiés les espace pour environment linux
}

}
?>

nota ca mache il faut juste comprendre inpeut ce qui ce pass
si le serveur de free et pas tros charger tu peut voir sa la
http://high.free.fr/bizar/testedir.php
[/php] il a des jour j ai l impresion etre null a+