Forum Webscript.Ru

Программирование => PHP => Тема начата: Alan от 30 Марта 2002, 16:42:00

Название: Запись в файл
Отправлено: Alan от 30 Марта 2002, 16:42:00
Как можно сделать следующее:
открыть файл
считать из него данные (ну это понятно )
а потом записать некоторые даные именно на место 2 строки а другие данные напимер на место 6 строки
Я делал полностью переписывая файл, но мне кажется что это как-то не граматно. может посоветуете?
Название: Запись в файл
Отправлено: ThE0ReTiC от 30 Марта 2002, 17:12:28
Используй file() а потом подменяй второй и шестой элемент массива.
Например.
Название: Запись в файл
Отправлено: Alan от 30 Марта 2002, 17:15:16
ну а где пример?
Название: Запись в файл
Отправлено: ThE0ReTiC от 30 Марта 2002, 17:18:04

$data = file("filename.ext");
$data[1] = "New 2 string";
$data[5] = "New 6 string";
$f = fopen("filename.ext","w");
fwrite($f,$data);
fclose($f);
?>

Не проверял. Первое, что на ум пришло.
Название: Запись в файл
Отправлено: AliMamed от 30 Марта 2002, 17:50:18
если сделать без file() через w+ должно быстрее работать
Название: Запись в файл
Отправлено: Dm от 30 Марта 2002, 18:18:47
Полностью согласен с AliMamed.
не нужно полностью переписывать файл, просто изменить позицию, записать и все. Только не забываем про flock();
Название: Запись в файл
Отправлено: Alan от 31 Марта 2002, 01:05:50
а подробней можно?
Тестовая задача:
есть файл
............................
$a="admin";
$b="password";
$c="123";
$d="some text";
?>
............................
надо заменить скажем строку номер 3 на $b="parol";
не перезаписывая весь файл
что бы получилось:
............................
$a="admin";
$b="parol";
$c="123";
$d="some text";
?>
.............................