Функция замены строки в файле - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Wed, 15 Jan 2025 11:52:57 +0300в общем остановился на своем варианте:<br>
<pre class="prettyprint"><?
function replace($from,$to,$str,$file) {
# $from - заменяемый текст
# $to - текст на который заменяем
# $str - строка в которой производим замену ('all - все строки')
# $file - файл в котором производим замену
if(!file_exists($file)){die("Файл '$file' не существует!");}
$f1 = htmlspecialchars(file_get_contents($file));
if($str!=='all'){
$str = $str-1;
$f_str = explode("\n",$f1);
$f2 = str_replace($from,$to,$f_str[$str]);
$f3 = str_replace($f_str[$str],$f2,$f1);
$result = $f3;
}else{
$f1 = htmlspecialchars(file_get_contents($file));
$f2 = str_replace($from,$to,$f1);
$result = $f2;
}
if(file_put_contents($file,$result))
{die ('Замена произведена успешно!');} else {die ('Ошибка замены!');}
}?></pre>
https://visavi.net/topics/11907/213578
Функция замены строки в файле KOZZWed, 28 Jul 2010 08:16:15 +0400Сообщенияhttps://visavi.net/topics/11907/213578$txt = file('text.txt');<br>
$txt[$line] = str_replace($old, $new, $txt[$line]);<br>
и хорош
https://visavi.net/topics/11907/212799
Функция замены строки в файле ramzesMon, 26 Jul 2010 21:43:24 +0400Сообщенияhttps://visavi.net/topics/11907/21279913, я смотрю на разные варианты, смотрю как реализуют эту задачу другие люди.
https://visavi.net/topics/11907/212696
Функция замены строки в файле KOZZMon, 26 Jul 2010 18:07:25 +0400Сообщенияhttps://visavi.net/topics/11907/212696<blockquote class="blockquote">file будем строки считать, знаеш другой способ это сделать говори</blockquote>
ну это делается довольно просто:<br>
<pre class="prettyprint"><?$f1 = file_get_contents($file);
$str_num = explode("\n",$f1);
$str_kol = count($str_num);?></pre>
https://visavi.net/topics/11907/212687
Функция замены строки в файле KOZZMon, 26 Jul 2010 17:47:40 +0400Сообщенияhttps://visavi.net/topics/11907/212687<pre class="prettyprint">
<?php
function replace_line($what, $to, $current_file) {
$file = file($current_file);
$file = array_map('trim', $file);
if ( $key = array_search($what, $file) ) {
$file[$key] = $to;
file_put_contents($current_file, implode("\n", $file));
return true;
}
return false;
}
?>
</pre>
https://visavi.net/topics/11907/212678
Функция замены строки в файле DmitryDickMon, 26 Jul 2010 17:34:13 +0400Сообщенияhttps://visavi.net/topics/11907/212678Чем тебя функция из #2 не устраивает?
https://visavi.net/topics/11907/212631
Функция замены строки в файле StudentsovMon, 26 Jul 2010 15:58:05 +0400Сообщенияhttps://visavi.net/topics/11907/21263111 ну они все последовательно будут работать а неодновременно,<br>
file будем строки считать, знаеш другой способ это сделать говори<br>
fopen открываем и пишим в файл уже с изменненой строкой<br>
file_get_contents можно вынести в переменную $bufer, но зачем. лишняя строка в коде<br>
думаю нагрузка не будет такой уж сильной главное чтоб работало и делало то что нужно.
https://visavi.net/topics/11907/212619
Функция замены строки в файле TitovMon, 26 Jul 2010 15:39:36 +0400Сообщенияhttps://visavi.net/topics/11907/21261910, как то странно %)<br>
все функции открытия файлов использовал(и file, и fopen, и file_get_contents), а самое интересное что одного и того же файла %)...нерационально
https://visavi.net/topics/11907/212617
Функция замены строки в файле KOZZMon, 26 Jul 2010 15:24:53 +0400Сообщенияhttps://visavi.net/topics/11907/212617а если так?<br>
<pre class="prettyprint">
<?php
/*
file.dat
1|user|password
2|user2|password2
*/
$parametr = $_GET['parametr'];
/*
$parametr = 1;
*/
$file=file('file.dat');
$count=count($file);
for($i=0;$i<$count;$i++)
{
$ex=explode('|',$file[$i]);
if ($ex[0]==$parametr)
{
$var=str_replace($ex[0].'|'.$ex[1].'|'.$ex[2], $parametr.'|user3|password3', file_get_contents("file.dat"));
$fopen=fopen("file.dat","w");
fputs($fopen,$var);
fclose($fopen);
}
}
?>
</pre>
https://visavi.net/topics/11907/212613
Функция замены строки в файле TitovMon, 26 Jul 2010 15:12:07 +0400Сообщенияhttps://visavi.net/topics/11907/2126138, не робит
https://visavi.net/topics/11907/212531
Функция замены строки в файле KOZZMon, 26 Jul 2010 13:38:03 +0400Сообщенияhttps://visavi.net/topics/11907/212531<pre class="prettyprint">
<?php
function replace_line($what, $to, $current_file) {
$file = file($current_file);
if ( $key = array_search($what, $file) ) {
$file[$key] = $to;
file_put_contents($current_file, implode("\n", $file));
return true;
}
return false;
}
?>
</pre>
https://visavi.net/topics/11907/212525
Функция замены строки в файле DmitryDickMon, 26 Jul 2010 13:28:58 +0400Сообщенияhttps://visavi.net/topics/11907/2125256,а как потом запись в твоем варианте делать чтобы остальные строки сохранились?
https://visavi.net/topics/11907/212520
Функция замены строки в файле KOZZMon, 26 Jul 2010 13:23:29 +0400Сообщенияhttps://visavi.net/topics/11907/212520<pre class="prettyprint">
<?php
$what = 'что меняем';
$to = 'на что меняем';
$file = file('файл');
if ( $key = array_search($what, $file) ) $file[$key] = $to;
?>
</pre>
https://visavi.net/topics/11907/212511
Функция замены строки в файле DmitryDickMon, 26 Jul 2010 13:13:48 +0400Сообщенияhttps://visavi.net/topics/11907/2125114, нужен, просто я не то скопировал ))
https://visavi.net/topics/11907/212475
Функция замены строки в файле KOZZMon, 26 Jul 2010 12:17:39 +0400Сообщенияhttps://visavi.net/topics/11907/212475у тебя номер строки тут вообще не используется в функции.. Просто заменяет во всём файле.<br>
Да и не нужен этот параметр, я думаю.
https://visavi.net/topics/11907/212465
Функция замены строки в файле ВалерийMon, 26 Jul 2010 11:59:55 +0400Сообщенияhttps://visavi.net/topics/11907/212465