|
|
|
| эмсь.. вот хотел бы просто узнать мнения, конечно же тут легче было бы юзнуть бд но всё же, например есть файл в котором содержится какойто конфиг.. и с помощью всяких форм на сайте нужно его изменить..
суть вопроса в том, как изменить только одну какуюто запись в файле?
тоесть как правильно "метить" строки в файлах чтобы легко их потом находить,
и как вытянуть например выбранную строку из файла изменить её и затем на то же место вставить обратно при это не трогая остальные элементы..? | |
|
|
|
|
|
|
|
для: sl1p
(30.08.2008 в 04:16)
| | Вариант №1
Читаете файл в массив (каждая строка - значение) меняете нужную вам строку, а затем записывате целиком новый файл. | |
|
|
|
|
|
|
|
для: Valick
(30.08.2008 в 08:59)
| | ну про целиком это и так понятно)
интересно можно ли "апдейтить" просто) | |
|
|
|
|
|
|
|
для: sl1p
(30.08.2008 в 09:44)
| | Если и так понятно, то зачем спрашивать?
А если интересно, то надо книжки и мануалы читать :)
http://softtime.ru/bookphp/gl6_1.php
http://www.php.net/manual/ru/ref.filesystem.php
и особенно:
http://www.php.net/manual/ru/function.parse-ini-file.php
если речь идёт о конфигурационном файле. | |
|
|
|
|
|
|
|
для: sl1p
(30.08.2008 в 04:16)
| | > вытянуть например выбранную строку из файла изменить её и затем на то же место вставить обратно при это не трогая остальные элементы
такая возможность есть.
придётся использовать фиксированную длинну строк, высчитывая положения начала строки по порядковому номеру. При этом неиспользованные участки строк будут заполнены байтами \x00 и мусором,
которые придётся отсекать
но такое имеет смысл применять только если в файле предпологается хранить очень большой обьём данных, т.к. сильно усложняет код и на большее время блокирует/занимает файл , нежели простое считывание в переменную. единственный плюс - меньшее расходование оперативной памяти, взависимости от размера файла. | |
|
|
|
|
|
|
|
для: sl1p
(30.08.2008 в 04:16)
| | Используйте формат ini-файлов и функцию parse_ini_file() | |
|
|
|