Cacher des dossiers

Résolu
Unrealx6 Messages postés 202 Statut Membre -  
Unrealx6 Messages postés 202 Statut Membre -
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

  1. Thorak83 Messages postés 1140 Statut Membre 156
     
    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
    1. Unrealx6 Messages postés 202 Statut Membre 13
       
      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
  2. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    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
    1. Unrealx6 Messages postés 202 Statut Membre 13
       
      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
    2. Unrealx6 Messages postés 202 Statut Membre 13
       
      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