2012-04-04 9 views
-4

プロジェクトフォルダとサブフォルダファイル内のすべてのPHPと他のファイルの空白スペースに置き換えてコードを変更したいと思います。 私は次のコードを持っています。いくつかのコードをPHPの空白スペースに置き換えます

if ($handle = @ opendir("for testing")) { 
    while (($entry = readdir($handle))) { 
     if ($entry != "." && $entry != "..") { 
      $linecop = '/*god_mode_on*eval(test("ZXkViKSk7IA=="));*god_mode_off*/'; 
      $homepage = file_get_contents($entry); 
      $string3=str_replace($linecop,'',$homepage); 
      $file = fopen($entry, "w") or exit("Unable to open file!"); 
      fwrite($file, $string3); 
      fclose($file); // 
     } 
    } 
    closedir($handle); 
} 

ただし、このコードは1つのファイルに対してのみ機能します。すべてのファイルをどのように変更するのですか?

+0

はコードである場合($ = @を扱う() "テスト用" のopendir) { 中(($エントリー=のreaddir($ハンドル))) { 場合($エントリー!= "" && $ */god_mode_off */';};}};}}};}}}; $ homepage = file_get_contents($ entry); $ string3 = str_replace($ linecop、 ''、$ homepage); $ file = fopen($ entry、 "w")またはexit( "ファイルを開くことができません!"); fwrite($ file、$ string3); fclose($ file); //} } closedir($ handle); } –

答えて

0
function recursive_replace($directory, $search, $replace) { 
    if (! is_dir($directory)) return; 
    foreach (glob($directory . '/*') as $file) { 
    if ($file === '.' || $file === '..') continue; 
    if (is_dir($file)) recursive_replace($file, $search, $replace); 
    $content = file_get_contents($file); 
    $content = str_replace($search, $replace, $content); 
    file_put_contents($file, $content); 
    } 
} 

recursive_replace('/your/file/path', '/*god_mode_on*eval(test("ZXkViKSk7IA=="));*god_mode_off*/', ''); 

あなたは再帰的に検索し、交換したい場合は、再帰関数を考える必要があります:)また、グロブ()/ file_X_contents()はファイルやディレクトリのニーズに使用する非常に良く機能しています。コードはテストされていませんが、どんな場合でもあなたが探しているものに近いです。ここ

+1

上記のおかげでありがたくありがとうございました。ありがとうございました。ありがとうございました –

+0

この回答がうまくいくなら、それを受け入れられた回答としてマークしてください。 – Linger