Problème suppression répertoire+contenu

Résolu
Mara13 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Mara13 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   18
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
problème résolu
0