|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.09.2012, 13:18 | #1 |
Форумчанин
Регистрация: 26.01.2012
Сообщений: 648
|
Частично обновить файл кеша ,с раcширением tmp
Имеется файл с расширением tmp. Задача стоит не удалять файл ,а частично обновить ориентируясь по id. Не разу не приходилось делать, да и в нете не могу подходящую статейку найти.
Скажите пожалуйста, как обновить? Тоесть в sql ubdate, а как будит чтоб обновить файл? |
21.09.2012, 13:27 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Каков формат записей в этом файле?
Как в этих записях определяется id, который нужно обновить? |
21.09.2012, 13:29 | #3 |
Форумчанин
Регистрация: 26.01.2012
Сообщений: 648
|
Код:
|
21.09.2012, 13:39 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
На вид – обычный сериализованный массив.
Попробуй считать содержимое файла в переменную, и потом обработать её при помощи unserialize. Должен получиться ассоциативный массив. Находишь в массиве нужный элемент – обновляешь в нем информацию. Затем массив пропускаешь через serialize, и записываешь обратно в файл. |
21.09.2012, 13:59 | #5 |
Форумчанин
Регистрация: 26.01.2012
Сообщений: 648
|
Нашел пример serialize, а вот как правильно все прописать толком не знаю.
Переписал как считаю правильным. Какие ошибки? PHP код:
Как записать массив в файл? Из примера. PHP код:
Последний раз редактировалось Predator199; 21.09.2012 в 14:06. |
21.09.2012, 14:03 | #6 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Цитата:
Последовательность операций: file_get_contents unserialize foreach serialize file_put_contents PS: причем тут вообще ODBC..? Перестань писать чушь, соберись, прочитай все еще раз внимательно, подумай – и только потом начинай писать код. Последний раз редактировалось Andkorol; 21.09.2012 в 14:14. Причина: PS |
|
21.09.2012, 14:19 | #7 |
Форумчанин
Регистрация: 26.01.2012
Сообщений: 648
|
PHP код:
Последний раз редактировалось Predator199; 21.09.2012 в 14:21. |
21.09.2012, 14:29 | #8 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
OMFG...
Попробуем еще раз, с комментариями: file_get_contents – получаем содержимое файла в переменную. unserialize – формирует массив из этой переменной. foreach – проходим по массиву, ищем id, равное 410, изменяем информацию в этом элементе. serialize – измененный массив преобразуем в строку. file_put_contents – записываем эту строку обратно в файл. Здесь будет кода строк на 5 всего. |
21.09.2012, 14:44 | #9 |
Форумчанин
Регистрация: 26.01.2012
Сообщений: 648
|
PHP код:
$gg = foreach($session_data); Последний раз редактировалось Predator199; 21.09.2012 в 14:46. |
21.09.2012, 14:50 | #10 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
В мануале находишь описания и примеры использования для каждой из необходимых функций или конструкций языка, внимательно их изучаешь – затем применяешь в своем коде.
То, что ты чего-то не знаешь или не понимаешь – это целиком и полностью твоя заслуга/проблема. Читай, разбирайся. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сохранить изображение компонента в файл, даже если он частично не виден. | Son | Компоненты Delphi | 4 | 26.07.2012 22:47 |
Можно ли програмно узнать являеться ли файл .tmp мп3шным? | Дима я | Общие вопросы Delphi | 20 | 10.07.2010 14:59 |
Ребилд кеша | zumm | Общие вопросы Delphi | 6 | 24.05.2010 22:04 |
Ассоциативность кеша | meradone | Помощь студентам | 4 | 03.12.2009 20:32 |
Как частично скрыть строки таблицы... | krupnoff | PHP | 11 | 21.08.2007 23:49 |