サイドノート:
私は私見良いオプションではありません削除、ファイルの名前を変更、またはファイルの先頭にexit文を置くことをお勧めします。ユーザーは、インストールスクリプトを読んだり、再実行したりすることができます。多分これはよりよい解決策が考えられます。
$contents = file_get_contents(__FILE__);
file_put_contents(__FILE__,
"<?php # Remove this line and the next line to re-configure the application
die('The application has already been configured.'); ?>\n" . $contents
);
、あなたにも、Webサーバがクライアントに渡さない何かに名前を変更でき、またはさらに良く、どこかに移動し、Webサーバーは、へのアクセスを持っていませんあるいはその両方:
rename(__FILE__, '/tmp/' . basename(__FILE__) . '.bak');
ディレクトリを削除についてインストールスクリプトはしかし、インストールスクリプトにに移動された場所...
を言及するのを忘れないでください:これはrmdir()
で行われ、しかし、ディレクトリは空でなければなりません。フォルダの移動はファイルと同じで、機能はrename()
です。
お使いのOSはどちらですか? – Freddy
Unixのようなシステムでは、基本的にremoveはファイルのinodeをディレクトリからリンク解除するだけです。プログラムが実行を停止すると、最後のunlink(プログラム自体)は削除され、inodeにはリンク(削除されます)。オペレーティングシステムのようなウインドウでは、削除するとそれにアクセスする他のプログラムがあるかどうかをチェックし、呼び出し元のプログラムによってトリガーされる外部スレッドを持たない限り削除できないので、削除できません。 – Freddy