[RESOLU] comment supprimer . et .. à l'affichage

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] comment supprimer . et .. à l'affichage

Re: comment supprimer . et .. à l'affichage

par two3d » 27 juin 2023, 22:49

Penses à ajouter une ouverture et fermeture de liste avec <ul> et </ul> pour ton dernier code. Ceci pour un HTML correct.

Passe en résolu si ta trouvé une solution ;)

Re: comment supprimer . et .. à l'affichage

par elevedavid » 27 juin 2023, 22:43

youpi j'ai trouvé comme quoi, il faut persévérer !!
ma fin de code est faut voici la version corrigé de la fin du code
sur les deux dernière ligne de code
foreach($scandir as $fichier){    
    if(is_dir($fichier) and $fichier != '.' and $fichier != '..'){
        echo "$fichier<br/>"; 
        $fichiers = scandir('/code/rangement/' .$fichier. '/');
        foreach($fichiers as $name_photo){
           if(!is_dir($name_photo) and $name_photo != '.' and $name_photo != '..'){ 
            echo '<li>' .$name_photo. '</li>';
          }   
            
        }               
    }  
}   

comment supprimer . et .. à l'affichage

par elevedavid » 27 juin 2023, 22:30

Bonjour
j'ai fait un script pour déplacer des photos d'un dossier vrac vers des dossiers en fonction des noms des images.
Ce script fonction !! :D

Mais lorsque je veux afficher la liste des dossiers avec ce que contient chaque dossier, dans le contenu de chaque dossier j'ai
.
..
je voudrai les supprimer mais je n'y arrive pas, alors après plusieurs heures de combat avec le code je viens chercher de l'aide pour comprendre mon erreur.
<?php

class Image
{   //retourne les fichiers présent dans le répertoire $image_dir
    public function getImages($image_dir)
    {   //ouverture du répertoire
        if($handle = opendir($image_dir))
        {   //création d'un tableau vide $images pour récupérer les fichiers
            $images = [];
            //pour chaque entrée dans le répertoire
            while(false !== ($entry = readdir($handle)))
            {   //vérification qu'il s'agit d'un fichier
                if(($entry != '.') and ($entry != '..') and ($entry != '.DS_Store'))
                {    //ajout du nom du fichier au tableau $images
                    $images[] = $entry;             
                }
            }
        }
     //fermeture du répertoire
    closedir($handle);
    //retour tableau des fichiers du répertoire $directory
    return $images;
    }
}

//chemin des différents dossiers et sous dossiers
$image_dir = '/code/rangement/vrac/';


//instantiation class Image
$image = new Image();
//récupération tableau des noms de fichier présents dans le répertoire
$images = $image->getImages($image_dir);

//boucle de récuperation des noms des images du tableau $images
foreach($images as $key => $name)
{   //fractionnement du nom de chaque nom de fichier pour récupérer avions ou montagne_2009
    $explode = explode('-',$name);  
        $array[] = $explode[0]; 
        //vérification si $explode[0] n'est pas un dossier
        if(!is_dir($explode[0]))
        {   //création du dossier $explode[0]
            mkdir($explode[0]);
            //création du chemin de ss_dossier
            $ss_dossier ='/code/rangement/' .$explode[0]. '/';
            //renome le nom de l'image du dossier vrac en la déplaçant dans le ss_dossier (dans notre cas pas de modification du nom)
            rename($image_dir.$name,$ss_dossier.$name);
        }
        else
        {   //création du chemin de ss_dossier
            $ss_dossier ='/code/rangement/' .$explode[0]. '/';
            //renome le nom de l'image du dossier vrac en la déplaçant dans le ss_dossier (dans notre cas pas de modification du nom)
            rename($image_dir.$name,$ss_dossier.$name);
        }
    
}   

?>

<!DOCTYPE html>
<html>
    
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>Rangement d'images</title>        
    </head>
    <body>
        
<h1> Rangement d'images </h1>

<?php


$scandir = scandir('/code/rangement/');

foreach($scandir as $fichier){    
    if(is_dir($fichier) and $fichier != '.' and $fichier != '..'){
        echo "$fichier<br/>"; 
        $fichiers = scandir('/code/rangement/' .$fichier. '/');
        foreach($fichiers as $name_photo){
            if(is_dir($name_photo) and $name_photo != '.' and $name_photo != '..'){ 
            }    echo '<li>' .$name_photo. '</li>';
            
        }               
    }  
}   

?>
   
</body>
</html>