|
|
|
| Люди скажите пожалуйста как мне в текстовом файле добавить в конец КАЖДОЙ СТРОКИ определенную запись? | |
|
|
|
|
|
|
|
для: Djamali
(11.07.2008 в 16:21)
| | заливаешь текст в переменную, парсишьна строки, добавляешь к каждой строке чтьо нужно, пишешь обратно в файл | |
|
|
|
|
|
|
|
для: GeorgeIV
(11.07.2008 в 16:29)
| | а текст в переменную - зачем? | |
|
|
|
|
|
|
|
для: Djamali
(11.07.2008 в 16:21)
| | Можно поступить следующим образом
<?php
// Имя файла
$filename = "index.htm";
// Запись
$order = "test";
$contents = file_get_contents($filename);
$contents = preg_replace("|([\r\n]+)|is", "$order\\1", $contents);
file_put_contents($filename, $contents);
?>
|
| |
|
|
|
|
|
|
|
для: Djamali
(11.07.2008 в 16:21)
| | А можно вот так:
// Открываем файл если он существует
if(file_exists($file))
{
$f=fopen($file, "r+t") or die("Невозможно открыть файл");
// Блокируем файл (разделяемая блокировка)
flock($f, LOCK_SH); // ждём завершения процесса записи
// В файл теперь никто не пишет, можно читать
$cont=explode("\n",fread($f,filesize($file))); // считываем файл
fclose($f); // закрываем файл
foreach ($cont as $key=>$value)
{
$mass[$key]=$value.$dobavka;
}
$f=fopen($file, "r+t") or die("Невозможно открыть файл");
// Блокируем файл (блокировка с запретом "подвисания")
while(!flock($f, LOCK_EX+LOCK_NB))
{
sleep(1); // ждём одну секунду
}
// Файл заблокирован, можно производить запись
ftruncate($f, 0); // очищаем файл
rewind($f); // переходим в начало файла
foreach ($mass as $key=>$values)
{
// Записываем строку из массива
fwrite ($f, $values."\n");
}
fclose($f); // закрываем файл
|
код не проверял
скопипастил из используемых мной функций | |
|
|
|
|
|
|
|
для: Valick
(13.07.2008 в 10:07)
| |
<?php
$file="test.txt";
$dobavka="ghbdtn";
// Открываем файл если он существует
if(file_exists($file))
{
$f=fopen($file, "r+t") or die("Невозможно открыть файл");
// Блокируем файл (блокировка с запретом "подвисания")
while(!flock($f, LOCK_EX+LOCK_NB))
{
sleep(1); // ждём одну секунду
}
$cont=explode("\n",fread($f,filesize($file))); // считываем файл
foreach ($cont as $key=>$value)
{
$mass[$key]=$value.$dobavka;
}
ftruncate($f, 0); // очищаем файл
rewind($f); // переходим в начало файла
foreach ($mass as $key=>$values)
{
// Записываем строку из массива
fwrite ($f, $values."\n");
}
fclose($f); // закрываем файл
}
?>
|
этот работает | |
|
|
|