J'ai un delete.php dans le dossier abc donc j'appelle localhost/abc/delete.php
. Je veux être en mesure de supprimer le dossier abc et tout son contenu à partir du serveur lorsque j'appelle localhost/abc/delete.php
. Comment faire une telle chose?Comment supprimer un dossier dans lequel a été démarré en tant que script?
0
A
Répondre
1
Cette fonction supprime un répertoire avec l'ensemble de son contenu. Le second paramètre est booléen pour instruire la fonction si il doit supprimer le répertoire ou seulement le contenu
function rmdir_r ($dir, $DeleteMe = TRUE)
{
if (! $dh = @opendir ($dir)) return;
while (false !== ($obj = readdir ($dh)))
{
if ($obj == '.' || $obj == '..') continue;
if (! @unlink ($dir . '/' . $obj)) rmdir_r ($dir . '/' . $obj, true);
}
closedir ($dh);
if ($DeleteMe)
{
@rmdir ($dir);
}
}
//use like this:
rmdir_r('abc');
0
Essayez quelque chose comme ceci:
function deleteDir($dir) {
if (!is_dir($dir)) return unlink($dir);
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') continue;
if (!deleteDir($dir.'/'.$item)) return false;
}
return rmdir($dir);
}
$dir = substr($_SERVER['SCRIPT_FILENAME'], 0, strrpos($_SERVER['SCRIPT_FILENAME'], '/'));
deleteDir($dir);
Questions connexes
- 1. Comment puis-je trouver le nom d'utilisateur d'origine avec lequel un processus a été démarré?
- 2. Linux: comment détecter comment un processus a été démarré
- 3. Comment puis-je vérifier si un script Python a été démarré de manière interactive?
- 4. trouver lequel a été cliqué
- 5. Comment un script PHP peut-il détecter s'il a été appelé en tant que script ou depuis le shell?
- 6. Comment définir un dossier en tant que classpath dans jarbundler
- 7. Utiliser NSString dans un autre fichier que celui dans lequel il a été créé
- 8. Comment supprimer un fichier (situé dans le répertoire dans lequel le script s'exécute) en Python?
- 9. Perl: Vérifiez si votre fichier a été chargé en tant que module ou exécuter directement
- 10. Le script Bash init.d détecte que mysqld a démarré et est en cours d'exécution
- 11. Comment savoir si un dossier a été définitivement supprimé
- 12. comment puis-je déterminer si un script python est importé en tant que module ou exécuté en tant que script?
- 13. dossier Comprendre « image » en tant que contrôleur
- 14. FTP en tant que dossier/webdisk
- 15. Monter un dossier en tant que lecteur (jonction)?
- 16. Comment puis-je déterminer le pays dans lequel un iPhone a été acheté?
- 17. En Perl, comment savoir si mon fichier est utilisé en tant que module ou en tant que script?
- 18. Script Perl utilisable en tant que programme et en tant que module
- 19. Déterminer rapidement si un contenu de dossier a été modifié
- 20. (Selenium) Comment tester si un téléchargement d'un certain fichier a été démarré?
- 21. Supprimer dossier en php
- 22. Exécution d'un script SQL stocké en tant que ressource
- 23. Comment supprimer champ d'entrée qui a été insérée via JavaScript
- 24. Comment supprimer un package SSIS qui a été déployé dans le système de fichiers
- 25. Comment puis-je savoir quand un fichier a été récemment remplacé dans un dossier FTP?
- 26. Comment supprimer un dossier en utilisant JavaScript modifié dans Pentaho?
- 27. Comment minimiser l'application dès qu'elle a démarré?
- 28. Le type de contenu Plone fonctionne en tant que dossier mais pas en tant qu'événement.
- 29. comment inclure un ":" en tant que paramètre dans powershell?
- 30. Puis-je exécuter un script Python en tant que service?
Cela ne fonctionnera probablement pas sur un hôte Windows, car il ne permet pas de supprimer un répertoire ou un fichier s'il est utilisé. Le script aura '$ dir' comme répertoire de travail, et PHP peut garder le script delete.php ouvert pendant l'exécution du script. Au minimum, vous devrez peut-être 'chdir()' loin de $ dir avant d'essayer de distancer le répertoire, et même alors, le fichier delete.php peut garder les choses verrouillées. –
Merci, je n'ai pas de boite Windows, donc je ne l'ai testé que sous Linux. –