Cacher des dossiers

Résolu/Fermé
Unrealx6 Messages postés 169 Date d'inscription mardi 18 juin 2013 Statut Membre Dernière intervention 22 février 2015 - Modifié par Pierrecastor le 26/06/2013 à 09:58
Unrealx6 Messages postés 169 Date d'inscription mardi 18 juin 2013 Statut Membre Dernière intervention 22 février 2015 - 26 juin 2013 à 10:08
Bonjour à tous,

Mon problème est bête je ne doute pas, mais je trouve pas la fonction qui me permet de dire a php, tu ne m'affiches pas ces dossiers.
Voici mon code :
<div class="other">

<h2> Autres : </h2>

<?php
$dirname = './';
$dir = opendir($dirname);
while ($file = readdir($dir))
{
if($file <> "." AND $file<>".."){
$data = pathinfo($file);
$tout=$data['basename'];
$tout=$dirname."/".$tout;
$taille=filesize($tout);
if($taille>=1073741824)
{$taille=round($taille / 1073741824 * 100) / 100 . "Go";}
elseif ($taille>=1048576)
{$taille=round($taille / 1048576 * 100) / 100 . "Mo";}
elseif ($taille >=1024)
{$taille=round($taille / 1024 * 100) / 100 . "Ko";}
else
{$taille = $taille . "o";}


//if($doss=is_dir($tout)){
// $doss = ;}





echo "<a href='$file' >" . "<strong>" . $data['basename'] . "</strong>" . " " . "<em>" . " Modifié le : " . date ('d/m/y, ', filemtime($tout)) . "</em>" . "(" . $taille . ")" . "</a> <br>";

}

}

?>

</div>
C'est dans ce code que j'aimerai dire à php de ne pas m'afficher les sous-dossiers, en gros qu'il affiche que les fichiers.

Quelqu'un à une solution ? SVP URGENT.

Cordialement Unrealx6.
Un chat noir dans le noir, ça ne se voit pas . . .
99% des problèmes en informatique se situent entre le clavier et la chaise . . .

2 réponses

Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
Modifié par Thorak83 le 26/06/2013 à 09:59
Bonjour,

faire un teste avec filetype($file) si = "dir" c'est un dossier sinon c'est un fichier

ou alors utiliser la fonction is_dir($file) qui indique si c'est un dossier

Cordialement
0
Unrealx6 Messages postés 169 Date d'inscription mardi 18 juin 2013 Statut Membre Dernière intervention 22 février 2015 13
26 juin 2013 à 10:01
Oui, je suis d'accord mais le is_dir indique juste en bool si c'est un dossier ou pas, après lui dire ouais tu l'affiches pas, ça je ne y arrive, je sais que c'est bête, mais trop de bourrage de crâne je suis perdu.
0
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
26 juin 2013 à 10:02
Salut Unrealx6,

remplace :

if($file <> "." AND $file<>".."){

par

if ( !is_dir($file) ) {

https://www.php.net/manual/fr/function.is-dir.php

"." et ".." sont aussi des "dossiers". Ils désignent respectivement sous Unix, le répertoire courant et le répertoire parent.


Dal
0
Unrealx6 Messages postés 169 Date d'inscription mardi 18 juin 2013 Statut Membre Dernière intervention 22 février 2015 13
26 juin 2013 à 10:06
Oui je sais, je l'ai fait au dessus du code que je vous ai montrer ( j'ai juste fait d'une facon differente là) :

<div class="content">

<h2> Applications : </h2>

<?php
$dirname = './applis';
$dir = opendir($dirname);
while ($file = readdir($dir))
{
if (!is_dir($file)) {
$data = pathinfo($file);
$tout=$data['basename'];
$tout=$dirname."/".$tout;
$taille=filesize($tout);
if($taille>=1073741824)
{$taille=round($taille / 1073741824 * 100) / 100 . "Go";}
elseif ($taille>=1048576)
{$taille=round($taille / 1048576 * 100) / 100 . "Mo";}
elseif ($taille >=1024)
{$taille=round($taille / 1024 * 100) / 100 . "Ko";}
else
{$taille = $taille . "o";}



echo "<a href='$dirname" . "/" . "$file' >" . "<strong>" .$data['filename'] . "</strong>" . " " . "<em>" ." Modifié le : " . date ('d/m/y, ', filemtime($tout)) . "</em>" . "(" . $taille . ")" . "</a> <br>";

}

}

?>

</div>

Je teste un truc, je vous redis.
0
Unrealx6 Messages postés 169 Date d'inscription mardi 18 juin 2013 Statut Membre Dernière intervention 22 février 2015 13
26 juin 2013 à 10:08
Merci dal !
J'aurai pas du faire de deux façon diffèrente, je me suis compliquer la vie, avec le is_dir directement ça marche, dire que depuis hier je cherche >< ! Merci les gars !
0