| imho.ws |
![]() |
|
|
|
# 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); ?> |
|
|
|
|
# 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. |
|
|
|
|
# 4 |
|
Junior Member
Регистрация: 14.10.2002
Адрес: Samara
Сообщения: 84
![]() |
Пора уже на 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. |
|
|