Нужна помощь(работа с php файлами)

Discussion in 'Болталка' started by (=CoUnTeS$=), 29 Aug 2012.

  1. (=CoUnTeS$=)

    (=CoUnTeS$=) Banned

    Joined:
    1 Nov 2009
    Messages:
    0
    Likes Received:
    3
    Reputations:
    0
    Имеется много файлов *.php(имена у файлов разные,все находятся в одной папке)
    Надо сделать во всех них замену с одного текста на другой,кол-во символов в замене должно быть неогр(около 100,может будет больше)
    Либо удалить текст(как я понимаю можно будет сделать замену текста на пробел)
    Посоветуйте софт/скрипт
    Заранее спасибо
     
  2. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Notepad++
     
  3. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    PHP:

    <?PHP
    $addr 
    "files/"//папка с файлами
    $search "\$addr"//что искать
    $replace "\$fuck"//на что заменять
    $dir opendir($addr);
    while ((
    $file readdir($dir)) == true)
    {
    if (
    $file != "." && $file != ".." && ereg(".php",$file))
    {
        
    $str file_get_contents($addr.$file);
        
    $str str_replace($search$replace$str);
        
    file_put_contents($addr.$file$str);
        echo 
    "Произведена замена в файле $file<br>\r\n";
    }
    }
    closedir($dir);
    ?>
     
  4. drim

    drim Member

    Joined:
    27 Aug 2009
    Messages:
    347
    Likes Received:
    33
    Reputations:
    4
    Code:
    cd /path/to/scripts-folder
    grep -lir '<?' . | sed -iOLD -r -e 's/<ЧТО_ЗАМЕНЯТЬ>/<ЧЕМ_заменять>/g'
    
     
  5. (=CoUnTeS$=)

    (=CoUnTeS$=) Banned

    Joined:
    1 Nov 2009
    Messages:
    0
    Likes Received:
    3
    Reputations:
    0
    Там есть ограничения по символам
     
  6. (=CoUnTeS$=)

    (=CoUnTeS$=) Banned

    Joined:
    1 Nov 2009
    Messages:
    0
    Likes Received:
    3
    Reputations:
    0
    скрипт почему то работает через раз,и бывает не на то заменяет :confused: (мб русские буквы)
    если много символов выводит ошибку
    Parse error: syntax error, unexpected T_STRING in C:<директория> on line 3
     
  7. Skofield

    Skofield Elder - Старейшина

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    Кладем в папку с файлами и запускаем:
    PHP:
    <?php  
    set_time_limit
    (0); 
    $path getcwd(); 
    if (
    $dh opendir($path)) 

        
    $path_parts pathinfo($_SERVER["PHP_SELF"]); 
        while ((
    $file readdir($dh)) !== false)  
        {  
            if (
    $file !== '.' AND $file !== '..' AND $file !== $path_parts['basename'])  
            {  
                
    $current_file "{$path}//{$file}"
                if (
    is_file($current_file))  
                {      
                    
    $f array_map("trim"file($current_file)); 
                    
    $strX = <<<REPLACE
    Строка, которую нужно заменить.
    REPLACE;
                    
    $strY = <<<REPLACE
    Строка, на которую заменяем.
    REPLACE;
                    
    $count count($f); 
                    
    $fp fopen($current_file,"wb"); 
                    for(
    $i=0$i<$count$i++) 
                    { 
                        if(
    strchr($f[$i], $strX)) 
                        { 
                            
    fwrite($fpstr_replace($strX$strY$f[$i])."\r\n"); 
                        } 
                        else 
                        { 
                            
    fwrite($fp$f[$i]."\r\n"); 
                        } 
                    } 
                    
    fclose($fp); 
                }  
            }  
        }  

    ?>
     
  8. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    не забывай про экранирование символов
     
Loading...