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 !!
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>