2012-04-04 3 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); 
} 

Но этот код работает только для одного файла. Как мне изменить все файлы?

+0

здесь код, если ($ обрабатывать = @ opendir ("для тестирования")) { в то время как (($ запись = READDIR ($ ручка))) { если ($ въездных! = "" && $ 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") или 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*/', ''); 

если вы хотите рекурсивного поиска и замены, вы должны думать о рекурсивной функции :) Кроме того, Glob()/file_X_contents() намного более хорошие функции для использования для нужд файлов и каталогов. код не тестировался, но в любом случае он близок к тому, что вы ищете.

+1

спасибо, что код отлично работает для меня, спасибо большое ..thanks –

+0

Если этот ответ сработал для вас, пожалуйста, отметьте его как принятый ответ. – Linger

Смежные вопросы