мой код,
<?php
$data = file_get_contents('file.conf');
$rows = explode("\n", $data);
$rcount = count($rows);
echo $rcount;
for ($l=0; $l<$rcount; $l++)
{
$rowss = $rows[$l];
if ($rowss == "[default]")
{
file_put_contents($rowss, "\nhi", FILE_APPEND | LOCK_EX) or die("<br>oops");
}
}
?>
вывод,
52
oops
и мой файл (file.conf) содержит 52 строки, которые печатаются успешно, , но не могу записать в этот файл
мне нужно добавить строку вроде «привет» в конец строки «[по умолчанию]»
пример, мой файл -
eastern=America/New_York|'vm-received' Q 'digits/at' IMp
central=America/Chicago|'vm-received' Q 'digits/at' IMp
central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours'
military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p'
european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM
[default]
1234 => 4242,Example Mailbox,root@localhost
;4200 => 9855,Mark Spencer,markster@linux- support.net,mypager@digium.com,attach=no|serveremail=myaddy@digium.com|tz=central|maxmsg= 10
;4300 => 3456,Ben Rigas,ben@american-computer.net
;4310 => -5432,Sales,sales@marko.net
пожалуйста, помогите мне
поблагодарите u
Давайте предположим, что Вы хотите добавить 2 строки после строки 20.
Можно использовать array_splice
:
$newlines = [ 'first line', 'second line' ];
array_splice($rows, 20, 0, $newlines);
$newlines
массив может содержать столько строк, сколько Вы хотите добавить. Можно также просто добавить одну строку, но это должно быть в массиве так, чтобы array_splice
может использовать его.
Таким образом в Вашем примере Вы могли использовать:
if ($rowss == "[default]")
{
$newlines = [ 'first line', 'second line' ];
array_splice($rows, $l + 1, 0, $newlines);
}
Это получит строку с [default]
, и добавьте строки после него ($l + 1
текущая строка, содержа [default]
).