Вставка чего-либо в определенной строке в текстовом файле с использованием PHP - PullRequest
1 голос
/ 09 октября 2009

У меня есть файл с именем config.php, я хочу, чтобы он оставался в точности таким, как есть, однако в строке # 4 есть строка, говорящая:

$config['url'] = '...could be anything here';

Я бы хотел заменить только содержимое строки # 4 своим собственным URL, предоставленным для $config['ur'], есть ли способ сделать это в PHP?

Ответы [ 6 ]

6 голосов
/ 09 октября 2009

Поскольку вы знаете точный номер строки, вероятно, наиболее точный способ сделать это - использовать file (), который возвращает массив строк:

$contents = file('config.php');
$contents[3] = '$config[\'url\'] = "whateva"'."\n";
$outfile = fopen('config.php','w');
fwrite($outfile,implode('',$contents));
fclose($outfile);
2 голосов
/ 09 октября 2009
$myline = "my confg line";

$file = "config.php";

$contents = file($file);
$contents[3] = $myLine;
$file = implode("\n", $contents);
1 голос
/ 09 октября 2009

Либо создайте другой конфиг (myconfig.php). Включить оригинал и перезаписать опцию. включите myconfig.php вместо оригинального.

OR

Перейдите туда, где включен конфигурационный файл (вы действительно использовали одно место для всех ваших включений, верно?) И установите там параметр конфигурации.

   include "config.php"
   $config['url'] = "my_leet_urlz";
0 голосов
/ 09 октября 2009

Если есть только один $ config ['url'], используйте preg_replace () http://us.php.net/preg_replace

что-то вроде: $ pattern = '\ $ config [' url '] = "[\ d \ w \ s] *"' $ file_contents = preg_replace ($ pattern, $ config ['url'] = "my_leet_urlz";, $ file_contents);

вам нужно исправить шаблон, так как я новичок в regex, и я знаю, что это неправильно.

0 голосов
/ 09 октября 2009
$filename = "/path/to/file/filename";
$configFile = file($filename);
$configFile[3] = '$'."config['url'] = '...could be anything here';";
file_put_contents($filename  ,$configFile);
0 голосов
/ 09 октября 2009

вы можете прочитать файл, использовать str_replace или preg_replace в соответствующих строках, а затем записать файл обратно себе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...