Problême php fonction unlink
Résolu
Azraka
-
abdou -
abdou -
Bonjour,
J'ai actuellement un soucis avec la fonction unlink(). J'aimerai supprimer un fichier contenu dans un dossier mais j'obtient à chaque fois un message d'erreur.
Voici mon morceau de code :
$ouverture= opendir('../dossier1/dossier2');
unlink('test.jpg');
closedir($ouverture);
et voilà l'erreur :
Warning: unlink(test.jpg) [function.unlink]: No such file or directory in C:\wamp\www\site\gestion\gestion_photos.php on line 78
(gestion_photos.php étant le fichier où se trouve le code ci-dessus)
Je ne sais plus ou chercher.. Merci d'avance.
J'ai actuellement un soucis avec la fonction unlink(). J'aimerai supprimer un fichier contenu dans un dossier mais j'obtient à chaque fois un message d'erreur.
Voici mon morceau de code :
$ouverture= opendir('../dossier1/dossier2');
unlink('test.jpg');
closedir($ouverture);
et voilà l'erreur :
Warning: unlink(test.jpg) [function.unlink]: No such file or directory in C:\wamp\www\site\gestion\gestion_photos.php on line 78
(gestion_photos.php étant le fichier où se trouve le code ci-dessus)
Je ne sais plus ou chercher.. Merci d'avance.
4 réponses
-
-
Au lieu d'attendre bêtement une réponse j'ai continué à chercher (cela paraît évident mais pas pour tout le monde ^^) et après différents essais j'ai enfin trouvé la solution à mon problème. Je la partage donc au cas où quelqu'un rencontrerait le même problème :
$ouverture= opendir("../dossier2/dossier2");
unlink("../dossier2/dossier2/test.jpg");
closedir($ouverture);
Bonne journée à tous. -
-
-
Bonjour.
Le problème est relativement simple :// 1. On crée un pointeur vers le répertoire '../dossier1/dossier2' MAIS ON NE CHANGE PAS DE REPERTOIRE $ouverture= opendir('../dossier1/dossier2'); // 2. On demande la suppression du fichier test.jpg DANS LE REPERTOIRE COURANT unlink('test.jpg'); // 3. On supprime le pointeur closedir($ouverture); -
Je n'explique rien, j'ai juste commenté ton code pour te montrer où ça cloche.
Tu as bien cerné la source du problème :
Le script est dans C:\wamp\www\site\gestion\ et tu veux supprimer C:\wamp\www\site\dossier1\dossier2\test.jpg.
Avec ta méthode :
0. Tu (enfin, plutôt PHP) es dans le répertoire C:\wamp\www\site\gestion\
1. Tu définis une varaible $ouverture qui pointe vers C:\wamp\www\site\dossier1\dossier2\
2.Tu demandes la suppression du fichier C:\wamp\www\site\gestion\test.jpg (vu que tu n'as pas bougé !)
Comme il n'existe pas, PHP te renvoie une erreur.
Ce que tu peux faire, c'est bêtement unlink ('../dossier1/dossier2/test.jpg'); sans faire de opendir... -
Warning: unlink(../dossier1/dossier2/test.jpg) [function.unlink]: No such file or directory in C:\wamp\www\site\gestion\gestion_photos.php on line 78
Ca, ça veut dire qu'il ne trouve pas ton fichier test.jpg
Il est sensé être dans quel répertoire ?
Tu peux faire un test avant :$fichier = '../dossier1/dossier2/test.jpg'; if ( is_file ($fichier) ) { unlink ( $fichier) ; }
ou utiliser $_SERVER["PATH_TRANSLATED"], qui te donne le répertoire courant (faire un echo $_SERVER["PATH_TRANSLATED"] t'aiderait peut-être à deboguer...)-
Voici où se trouve le code : C:\wamp\www\site\gestion\gestion_photos.php
et voilà où se trouve le fichier, il y est c'est sûr : C:\wamp\www\site\gallerie\thermique\test.jpg
(cette fois j'ai mis les vrais noms ^^)
Quant au "echo $_SERVER["PATH_TRANSLATED"];" cela ne m'affiche rien..
(je ne sais plus si je l'ai précisé mais avec le chemin absolu cela ne marche pas non plus..)
-