Probleme de suppresion d'un dossier dans php

Fermé
ayaovi - 12 avril 2008 à 11:27
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 12 avril 2008 à 13:54
J'ai ecris un code en php pour suprimer un dossier, mais ça ne marche pas a l'excécution, le programme ne genère aucune erreur. je vous envoie une partie de mon code . Je vous remercie d'avance pour aide.

<?php

$connection = mysql_connect("localhost","root","");
mysql_select_db("BDDPhotos",$connection);
$typeID = $_POST['frm_select_type'];

$querytype = "SELECT typeName FROM type where typeId ='$typeID'";
$resultype = mysql_query($querytype) or die("ERROR");
$rowtype = mysql_fetch_array($resultype);
$typename = $rowtype[0];

$dir= "./images/".$typename;

function advRmDir($dir )
{

// ajout du slash a la fin du chemin s'il n'y est pas
if( !preg_match( "/^.*\/$/", $dir ) ) $dir .= '/';

// Ouverture du repertoire demande
$handle = @opendir( $dir );

// si pas d'erreur d'ouverture du dossier on lance le scan
if( $handle != false )
{

// Parcours du repertoire
while( $item = readdir($handle) )
{
if($item != "." && $item != "..")
{
if( is_dir( $dir.$item ) )
advRmDir( $dir.$item );
else unlink( $dir.$item );
}
}

// Fermeture du repertoire
closedir($handle);

// suppression du repertoire
$res = rmdir( $dir );

}
else $res = false;

return $res;

}

?>

Voici une partie de mon code; /image est le dossier dans lequel se trouvera les dossiers à supprimer.
merci
A voir également:

2 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
12 avril 2008 à 13:47
salut,

je suppose qu'il ne peut pas parce que le dossier est ouvert.
si tu veux faire du récursif, en premier rempli un tableau avec tous les dossiers à supprimer puis parcours ce même tableau et efface les dossiers.

et si tu n'as pas d'erreur c'est peut être parce que tu utilises l'opérateur '@'.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
12 avril 2008 à 13:54
Salut,

ton serveur est en Linux je suppose ?

Donc si ton répertoire a été crée par un autre "utilisateur" que Apache/php, tu n'as pas le droit de le supprimer, les droits de ce dossier ou de son dossier parent ne sont pas suffisants, seul l'utilisateur qui l'a crée peut le supprimer.

On ne peut plus les modifier en php

Regardes du côté des fonctions ftp de PHP pour supprimer le dossier
Et aussi pour faire avec ça il faut que tu ait les codes ftp d'accès au serveur.

@lain
0