Comment supprimer un fichier de mon serveur avec PHP si le fichier se trouve dans un autre répertoire?
Voici ma mise en page:
projects/backend/removeProjectData.php
(ce fichier supprime toutes mes entrées pour la base de données et devrait également supprimer le fichier associé)public_files/22.pdf
(l'endroit où se trouve le fichier.)
J'utilise la unlink
fonction:
unlink('../../public_files/' . $fileName);
Mais cela me donne toujours une erreur selon laquelle le fichier n'existe pas. Des idées?
Réponses:
Ce qui suit devrait aider
realpath
- Renvoie le chemin absolu canoniséis_writable
- Indique si le nom de fichier est accessible en écritureunlink
- Supprime un fichierExécutez votre chemin de fichier via realpath, puis vérifiez si le chemin renvoyé est accessible en écriture et, le cas échéant, dissociez-le.
la source
la source
file_exists
fonction. Sinon, vous obtiendrez une erreur si le fichier n'existe pas.Vérifiez d'abord vos autorisations sur le fichier, pour vous assurer que vous pouvez a) le voir à partir de votre script, et b) pouvoir le supprimer.
Vous pouvez également utiliser un chemin calculé à partir du répertoire dans lequel vous exécutez actuellement le script, par exemple:
(en PHP 5.3, je pense que vous pouvez utiliser la
__DIR__
constante au lieu dedirname()
mais je ne l'ai pas encore utilisée moi-même)la source
Vous pouvez supprimer le fichier en utilisant
mais si vous supprimez un fichier de son chemin http, cette dissociation ne fonctionne pas correctement. Vous devez donner un chemin de fichier correct.
la source
Solution AIO, gère tout, ce n'est pas mon travail mais je me suis juste amélioré. Prendre plaisir!
la source
unlink
comme nom pour votre fonction.Je sais que cette question est un peu ancienne, mais c'est quelque chose de simple qui fonctionne très bien pour moi pour supprimer les images de mon projet sur lequel je travaille.
La
dirname(__FILE__)
section imprime le chemin de base de votre projet. Il/img/tasks/
y a deux dossiers en dessous de mon chemin de base. Et enfin, il y a mon image que je veux supprimer que vous pouvez transformer en tout ce dont vous avez besoin.Avec cela, je n'ai eu aucun problème pour accéder à mes fichiers sur mon serveur et les supprimer.
la source