![]() |
PHP, запись в фаил данных, помогите решить проблему
Всем привет.. кратко о проблеме:
открываем файл в r+, в файле есть строка "1111111111", необходимо заменить её на "234" и чтобы в файле в итоге было записано "234", но после записи получаем "2341111111", забивает только первые байты, а всё что дальше - не трогает, а то что дальше нафиг не нужно.. пример скрипта: PHP код:
|
w+
|
ну да, пробывал, записывается, но при таком открытии он читать файл отказывается O.o
|
Цитата:
ну значит сначала читай, потом записывай |
надо след сделать, попорядку:
1.Открыть файл 2.Закрыть доступ к нему всем, кроме текущего сеанса 3.Прочитать данные 4.Произвести с ними манипуляции 5.Записать данные всё. Как ты предлогаеш?2 раза файл открыть, первый раз прочитать, второй раз открыть на запись?так не канает, данные могут уже перезаписаться, пока ты будеш читать и закрывать файл, и потеряют актуальность |
ну смотря сколько времени занимают "манипуляции". Если неск минут и больше, то да, могут потерять актуальность. Выход - работать с копиями файлов.
А если манипуляции вроде замены "11111" на "23" - то это длится менее секунды |
ну естественно не 111 на 23 заменить, это то ясно=) манипуляции занимают немного, шансов тоже мало, но всё же, надо почеловечески сделать и понять как можно избавиться от этого хвоста
|
a+ пробуй
|
Выполняет поставленую задачу:
0. Проверяет сущ. файла, если нет создает. 1. Читает,выводит 2. Записывает. PHP код:
PHP код:
|
Цитата:
|
| Время: 21:53 |