Comment faire le script supprimer lui-même après que cela finira son travail? p>
EDIT: P>
C'est pour mon script d'installation, je souhaite qu'elle se supprimait pour des raisons de sécurité (afin que l'attaquant ne soit pas en mesure d'écraser le site existant). P>
J'ai oublié de mentionner que il a son "Comprend" répertoire fort> que j'aimerais être supprimé aussi ...
4 Réponses :
Essayez Dislink> Dislink . L'utilisateur WebServer aura besoin d'autorisations d'écriture pour le répertoire / script. P>
Vous pouvez utiliser Dislink code> pour supprimer un fichier et __ fichier __ code> Pour obtenir le chemin complet du fichier actuel:
squale@shark:~/developpement/tests/temp $ ll | grep 'remove-myself.php'
Génial, je vais le tester. Je suis sur Linux et je dois dire que j'évite les serveurs Windows alors ne vous inquiétez pas pour Windows :)
Unlink ($ _ serveur ["script_filename ']); code>
ou fort>
Unlink (__ Fichier __); Code> P>
Note latérale à d'autres réponses:
Je recommanderais de renommer le fichier ou de mettre une instruction de sortie au début du fichier, en supprimant l'IMHO n'est pas une bonne option. L'utilisateur peut vouloir lire votre script d'installation ou réexécuter. Peut-être que cela pourrait être une meilleure solution: P>
rename(__FILE__, '/tmp/' . basename(__FILE__) . '.bak');
Dans Unix comme des systèmes, vous pouvez supprimer le fichier de lui-même, car il s'agissait fondamentalement, le Supprimer Il suffit de dissocier l'inode du fichier dans le répertoire, lorsque le programme cesse d'exécuter, le dernier Dislink (le programme lui-même) est supprimé et l'inode n'a plus de liens. (donc est supprimé). Dans Windows, comme des systèmes d'exploitation, vous ne pouvez pas cela, car la suppression de vérifications s'il existe d'autres programmes qui l'accédent (qu'il ne pourra pas être supprimé, sauf si vous avez un fil externe qui sera déclenché par le programme d'appel.