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.
A voir également:
- Unlink php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
4 réponses
Bonjour.
Le problème est relativement simple :
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...
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..)
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..)
$ouverture= opendir("../dossier2/dossier2");
unlink("../dossier2/dossier2/test.jpg");
closedir($ouverture);
Bonne journée à tous.