mariobotta
Messages postés57Date d'inscriptionsamedi 30 avril 2005StatutMembreDernière intervention12 septembre 2009
-
12 nov. 2005 à 13:21
mariobotta
Messages postés57Date d'inscriptionsamedi 30 avril 2005StatutMembreDernière intervention12 septembre 2009
-
12 nov. 2005 à 21:43
bonjour,
J'ai un petit problème je cherche une commande me permettant de vérifier si un repertoire est vide ou non .
si il est vide je dois le supprimer et seulement dans ce cas!
quelqu'un aurait il une idée?
merci d'avance à tous pour votre aide.
A voir également:
Verifier si un repertoire est vide puis le supprimer
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 12 nov. 2005 à 17:58
Re,
Alternative à :
if (@!rmdir($folder)) echo 'impossible de supprimer le dossier';
que, je vois, tu n'aimes pas )
celle ci :
$folder='nom_du_dossier_a_supprimer';
if (is_dir($folder))
{
$i=0;
$dossier=opendir($folder);
while(($fichier = readdir($dossier))!==FALSE) {
$i++;
if ($i<=2) continue;
echo 'Le dossier n\'est pas vide.';
break;
}
if ($i<=2)
{
closedir($dossier);
rmdir($folder);
echo 'Dossier
effacé';
}
} else echo 'Le dossier n\'existe pas.';
Je me permet de la poster car la source d'Anthomicro a un petit défaut :
exemple : si tu analyses un rep non vide ou il y a 500 fichiers, le
script va boucler 503 fois alors que celle ci ne le fera que 3 fois
dans le pire des cas (bien plus rapide donc)
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 12 nov. 2005 à 14:13
... il faudrait plutôt dire :
<strike>le dossier n'est pas vide</strike> --> impossible de
supprimer le dossier, car la condition sera vraie si le dossier n'est
pas vide OU si le dossier n'existe pas ou n'est pas accessible.
mariobotta
Messages postés57Date d'inscriptionsamedi 30 avril 2005StatutMembreDernière intervention12 septembre 2009 12 nov. 2005 à 14:50
bonjour,
merci pour ton aide
j'ai essaiyer ton code sur mon script mais j'ai toujour un problème du type:
rmdir() failed (No such file or directory)
je ne comprend pas trop car le chemin ($dossier) existe?
$dossier = "../../image/gallery/".$id_page."/"; // repertoire où sont placées les images
$i=0;
$dossier=opendir($dossier);
while(($fichier=readdir($dossier))!==FALSE)
{
if($fichier!=='.' AND $fichier!=='..')
{
$i++;
}
}
closedir($dossier);
if($i==0)
{
rmdir($dossier);
}
ais je fait une erreur quelque part?
merci d'avance