Problème suppression répertoire+contenu

Résolu/Fermé
Mara13 Messages postés 3 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 2 juin 2008 - 28 mai 2008 à 15:48
Mara13 Messages postés 3 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 2 juin 2008 - 2 juin 2008 à 09:38
Bonjour,
Quelques explications du context, je suis entrain de réaliser une gestion des documents pour une entreprise.Les fichiers sont stockés dans des sous-répertoires(nom= catégorie) sur le serveur FTP. Les catégories sont elles-même stockées dans un répertoire(nom = rubrique).
exemple:
rubrique 1 > catégorie 1 > fichier 1
ou
rubrique 1 > catégorie 2 > fichier 2

J'ai donc un souci pour la suppression des catégories et des rubriques. Elles se suppriment dans la base données mais pas sur le serveur FTP.

Explication du principe, on as un tableau qui affiche les rubriques et le nombre de catégories.
on peux sélectionner plusieurs rubriques à supprimer.

Voila mon code pour la suppression d'un rubrique et de son contenu

if ($supprub)
{
$i = 0;
while ($i < $nb)
{
if ($supr[$i])
{
/*requete pour récuperer la catégorie + la rubrique
$query = "select folder_rub,folder from km_rub,km_cat where km_cat.id_rub=km_rub.id_rub and km_rub.id_rub='$supr[$i]';";

$resultat = mysql_query ($query);
$ligne = mysql_fetch_array ($resultat);
$folder_rub = $ligne["folder_rub"];
$folder_cat= $ligne["folder"];
/*suppression dans la table catégorie*/
$query = "delete from km_cat where id='$supr[$i]'";
mysql_query($query);
/*suppression dans la table documentation */
$query = "delete from km_docs where cat='$supr[$i]'";
mysql_query($query);
$handle = opendir($folder_rub."/".$folder_cat);
while($filename = readdir($handle))
{
if ($filename != "." && $filename != "..")
{
unlink ($folder_rub."/".$folder_cat."/".$filename);
}
}
closedir($handle);
rmdir($folder_rub."/".$folder_cat);
$i++;
}
}
}

même principe pour la catégorie, on supprimer la catégorie et ses fichiers, tout en gardant la rubrique.

Si quelqu'un pourrais m'éclairer car cela fait 3 jours que je bloque dessus
Cordialement.
A voir également:

3 réponses

Nxt Messages postés 41 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 2 janvier 2009 18
28 mai 2008 à 22:08
as tu les permissions sur ces dossiers ? (chmod)
essaye de faire :
if ($filename != "." && $filename != "..")
{
    echo $folder_rub."/".$folder_cat."/".$filename;
    unlink ($folder_rub."/".$folder_cat."/".$filename);
} 

pour vérifier que ton unlink cible bien le path voulu
0
Mara13 Messages postés 3 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 2 juin 2008
29 mai 2008 à 15:08
voilà le résultat de ta demande

$folder_rub."/".$folder_cat."/".$filename$folder_rub."/".$folder_cat."/".$filename

J'ai pensé à faire une fonction récursive.

<?php
function suppr_rep($dir)
{
$current_dir = opendir($dir);

while($entryname = readdir($current_dir))
{

if(is_dir("$dir/$entryname") )
{
suppr_rep("${dir}/${entryname}");
} elseif($entryname != "." and $entryname!="..")
{
unlink("${dir}/${entryname}");
}
} //Fin tant que

closedir($current_dir);
rmdir(${dir});
}
?>

aprés je sais pas si elle est bonne.
0
Mara13 Messages postés 3 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 2 juin 2008
2 juin 2008 à 09:38
problème résolu
0