私はプログラムの作成にPHPのCLIを使用しています。 /compile
という名前のフォルダがあり、CLIコールの後にコンパイルされたすべてのファイルを保持しています。このフォルダは定数__COMPILE__
を取得します。私は、この機能を使用すると、場所として使用する定数を使用しています:(所在地:C:\ユーザーはJeklin \ドキュメント\はをコンパイルGitHubの\スピットファイア・エンジン\を\):再帰的なフォルダの削除とフォルダの削除を使用するとスタックオーバーフローが発生する
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 65488 bytes) in C:\Users\Jeklin\Documents\GitHub\spitfire-engine\sys\compiler\Launcher.compiler.php on line 66
これは、関数であります私が使用しています:私は、ファイル構造に深く取得しようとする再帰メソッドが含まれてライン66上のそれを見ることができます
/*59*/ public function p_sweep_compile_dir()
/*60*/ { $dir = __COMPILE__;
/*61*/ if (is_dir($dir)) {
/*62*/ $objects = scandir($dir);
/*63*/ foreach ($objects as $object) {
/*64*/ if ($object != "." && $object != "..") {
/*65*/ if (filetype($dir."/".$object) == "dir")
/*66*/ $this->p_sweep_compile_dir($dir."/".$object);
/*67*/ else unlink ($dir."/".$object);
/*68*/ }
/*69*/ }
/*70*/ reset($objects);
/*71*/ rmdir($dir);
/*72*/ } else die('tried to delete a non-folder from p_sweep_compile_dir');
/*73*/ }
、構造が非常に浅いですが、これは__COMPILE__
ディレクトリのセットアップです:
|--compiled
|---app
|---public
|---sys
|index.html
そのコードを書いたが、これは、より理にかなって誰
'パブリック関数p_sweep_compile_dir(no_args!?){...'関数を呼び出すたびに、あなたはとても – Zimmi