Bonjour bonjour !
J'ai un petit problème quant à la suppression de fichiers avec la fonction unlink de PHP.
En fait j'ai fait sur mon site un panneau d'administration. Une des parties de celui-ci me permet de lister les fichiers présent pour une certaine personne et me donne la possibilité de choisir les fichiers que je veux éventuellement supprimer de la base de données et du serveur en même temps.
J'ai donc eu recours à la fonction unlink et voici mon code de suppression en question.
La suppression de la base fonctionne nikel par contre pour la suppression du serveur il y a un petit soucis.
En fait lorsque je lance cette fonction, j'ai ma petite fenêtre javascript qui me spécifie bien que j'ai réussi à supprimer. Je regarde ma base aucun problème, mais lorsque je vais sous Filezilla et que je regarde dans le dossier en question, le fichier est toujours là. Je me déconnecte et me reconnecte, il est toujours là, par contre si je me connecte, que je me rend dans le dossier et que j'appuie sur le bouton actualiser de filezilla, à ce moment là, le fichier disparait.
Donc, est ce un problème de la fonction ? est ce un problème de filezilla qui me montre comme si le fichier était encore présent alors que en fait il n'est déjà plus là ?
Je tiens à préciser que lorsque je testais ma fonction en local sous easyphp, elle fonctionnait impeccable autant vis à vis de la bdd mais aussi vis à vis de la suppression de fichier ou dossier qui se supprimaient comme voulu.
Merci d'avance.
Arnaud S.
Modifié par bibi-arnaud (07 Jul 2008 - 09:21)
J'ai un petit problème quant à la suppression de fichiers avec la fonction unlink de PHP.
En fait j'ai fait sur mon site un panneau d'administration. Une des parties de celui-ci me permet de lister les fichiers présent pour une certaine personne et me donne la possibilité de choisir les fichiers que je veux éventuellement supprimer de la base de données et du serveur en même temps.
J'ai donc eu recours à la fonction unlink et voici mon code de suppression en question.
$chemin2= "client/".$societe."/depot/"; //chemin pour acceder au dossier
$chemin = "client/".$societe."/depot/".$nom_depot; //chemin contenant le nom de fichier à supprimer.
$ouverture= opendir("$chemin2"); //on ouvre le dossier
chmod ($chemin, 0777); //onpasse le fichier en niveau de sécu 777
unlink($chemin); //on efface
closedir($ouverture); //on ferme le dossier
$suppression = "DELETE FROM krea_depot_krea WHERE id = $suppr";
$suppr1 = mysql_query($suppression) or die(mysql_error())
echo'<script language="Javascript">
alert("Depot supprim\351 avec succ\350s !");
window.location.replace("liste_depot_kreazone.php?idclient='."$idclient".'");
</script>';
La suppression de la base fonctionne nikel par contre pour la suppression du serveur il y a un petit soucis.
En fait lorsque je lance cette fonction, j'ai ma petite fenêtre javascript qui me spécifie bien que j'ai réussi à supprimer. Je regarde ma base aucun problème, mais lorsque je vais sous Filezilla et que je regarde dans le dossier en question, le fichier est toujours là. Je me déconnecte et me reconnecte, il est toujours là, par contre si je me connecte, que je me rend dans le dossier et que j'appuie sur le bouton actualiser de filezilla, à ce moment là, le fichier disparait.
Donc, est ce un problème de la fonction ? est ce un problème de filezilla qui me montre comme si le fichier était encore présent alors que en fait il n'est déjà plus là ?
Je tiens à préciser que lorsque je testais ma fonction en local sous easyphp, elle fonctionnait impeccable autant vis à vis de la bdd mais aussi vis à vis de la suppression de fichier ou dossier qui se supprimaient comme voulu.
Merci d'avance.
Arnaud S.
Modifié par bibi-arnaud (07 Jul 2008 - 09:21)