imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 28.05.2006, 14:43     # 1
Стефания
Junior Member
 
Регистрация: 13.03.2006
Сообщения: 72

Стефания Путь к славе только начался
Как сделать автозамену на рнр

Т.е. проблемка в том, что....мне нужно в 250-ти файлах заменить одну строчку. Как вариант....пишу скрипт для автозамены......чет нифига не работает.....вижу, что что-то не то или не туда записала, но пока не могу понять.
В общем......замена "123" на "456"

<?php
$d=opendir('.');
while ($n=readdir($d))
{
if (ereg(".php$", $n))
{

echo $n.'<br>';
$fp=fopen($n,'r');
clearstatcache();
$s=fread($fp,filesize($n)+1);
$news=str_replace('123','456',$s);

fclose($fp);

$fp=fopen($n,'w');
$news=str_replace('123','456',$s);
fwrite($fp,$s);
fclose($fp);
}
}
closedir($d);
?>
Стефания вне форума  
Старый 28.05.2006, 14:47     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
$news никуда не записывается.
RaZEr вне форума  
Старый 28.05.2006, 15:25     # 3
Стефания
Junior Member
 
Регистрация: 13.03.2006
Сообщения: 72

Стефания Путь к славе только начался
Записала так: fwrite($fp,$news);

Вроде работает
Пасибки!

О.....вот така еще проблема....делаю автозамену
$news=str_replace('(choice1,'SearchBliss Advanced Menu Generator')', '(choice1)',$s);

мне выдает ошибку "Parse error: syntax error, unexpected T_STRING in (тут ссылка на эту строку)"
и что делать?

Кажись поняла....надо поставить слеш перед '. хи....сама спросила....сама разобралась

Последний раз редактировалось Стефания; 28.05.2006 в 15:11.
Стефания вне форума  
Старый 07.06.2006, 17:15     # 4
smap
Junior Member
 
Аватар для smap
 
Регистрация: 14.10.2002
Адрес: Samara
Сообщения: 84

smap Путь к славе только начался
Wink

Пора уже на php5 переходить

Вообщем мини класс накатал, в друг кому пригодиться
Код:
<?php

class replaceFiles {

    private $array_file;
    private $ereg = "/.+/";

    function __construct( $path ) {
        $this->path = $path;
    }

    public function ereg( $ereg ) {
        $this->ereg = $ereg;
    }

    public function replace( $search, $replace ) {
        $dir = dir( $this->path );
        while( false !== ( $file = $dir->read() ) ) {
            if( $file != "." and $file != ".." and !is_dir( $file ) ) {
                if( $this->path != "." or $file != basename( __FILE__ ) ) {
                    if( preg_match( $this->ereg, $file ) ) {
                        file_put_contents( "{$this->path}/$file", preg_replace( $search, $replace,
                                            file_get_contents( "{$this->path}/$file" ) ) );
                    }
                }
            }
        }
        $dir->close();
    }
}

$files = new replaceFiles( "." );

$files->ereg( "/.txt$/" );

$files->replace( "/123/", "456" );

?>

Последний раз редактировалось smap; 07.06.2006 в 18:54.
smap вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 00:32.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.