[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с файлом
nupc
Есть двиг основанный на файлах, для каждого юзера отдельный файл, в котором одна строка, все работает нормально но так как много юзеров много файлов.
в чем суть
этим кодом считывается информация с файла
$text = @file("data/reg/$log.dat"); 
if ($text!=""){
$udata = explode(":||:",$text[0]);
$login=trim($udata[0]);
$password=trim($udata[1]);}


а как сделать чтобы все юзеры были в одном файле, то есть у юзера была своя строка а не файл, как переделать данный запрос чтобы он не с файла считываал а со строки, думал думал не получается dry.gif



Спустя 48 минут, 33 секунды (25.10.2010 - 21:22) kovaldm написал(а):
Можно создать многомерный массив и в сериализованном виде записать в файл.

$array['user_name']['date'] = 'Дата регистрации';
$array['user_name']['mail'] = 'Мыло данного юзера';
...


Спустя 1 минута, 46 секунд (25.10.2010 - 21:24) DmitryOpalev написал(а):
Вопрос не совсем в тему, но чем БД не подошло?

Спустя 7 минут, 57 секунд (25.10.2010 - 21:32) kovaldm написал(а):
Добавлю...
Если не ошибаюсь файл может быть открыт одновременно только для одного пользователя, так что если пользователей много могут возникнуть проблемы.

Спустя 1 минута, 36 секунд (25.10.2010 - 21:34) DmitryOpalev написал(а):
Да, там надо через sleep() запускать цикл, пока файл не освободится...
Если пользователей будет много, они будут долго ждать этот файл blink.gif

Спустя 2 минуты, 55 секунд (25.10.2010 - 21:37) nupc написал(а):
Спасибо ребят, новичек прост ещё, изучаю все потихоньку, пока ток с файлами дружу и то не совсем хорошо, а нет ли знаюших php из городаа Краснодара????

Спустя 2 минуты, 18 секунд (25.10.2010 - 21:39) DmitryOpalev написал(а):
Вконтакте тебе в помощь smile.gif

Спустя 53 секунды (25.10.2010 - 21:40) nupc написал(а):
по каким критериям я их буду искать ??? biggrin.gif

Спустя 10 часов, 35 минут, 19 секунд (26.10.2010 - 08:15) linker написал(а):
nupc
А забей, лучше по файлу на юзверя, чем мутить супер поиск юзверя в одном файле. А еще лучше переходи на БД.

Спустя 22 минуты, 5 секунд (26.10.2010 - 08:37) kirik написал(а):
Цитата (linker @ 26.10.2010 - 00:15)
А забей, лучше по файлу на юзверя, чем мутить супер поиск юзверя в одном файле.

Нифига не лучше. Большое количество I/O операций убьют диск даже при не очень большом количестве посещений.

Спустя 1 час, 13 минут, 28 секунд (26.10.2010 - 09:51) linker написал(а):
kirik
smile.gif Шутишь? Ну смотри, есть файл, в котором каждому юзверю отведена одна строчка. Как ты знаешь какая именно строка соответствует определенному юзверю? Никак, только метод чтения и поиск, т.е. жесткая операция IO, а допустим таких запросов 100 штук, а пользователей например 1000. Как оно повлияет, а сколько памяти займет? А подумаем например, какая нас ждет жертва по ресурсам и памяти, если надо будет что-то поменять у одного пользователя или удалить пяток сразу? Ты все еще продолжаешь думать, что хранить все в одном текстовом файле лучше, чем в разных?
А теперь у нас для каждого пользователя - один файл. Сразу берем нужный файл и читаем.
Собственно остается вопрос, а каких целях используются файлы с данными юзверей.

Спустя 8 часов, 56 минут, 3 секунды (26.10.2010 - 18:47) kirik написал(а):
linker
В случае с одним файлом, если он конечно не огромен (1000 юзеров - ОК), этот файл влезет в кэш диска и будет читаться оттуда. И так как обращений на чтение к этому файлу будет много, из кэша он вылазить почти не будет.
В случае с разными файлами, файлы постепенно будут вытесняться из дискового кэша (ведь паралельно еще идут запросы картинок, js, css....), а потом эти файлы будут запрашиваться снова.
Как-то так по сути smile.gif

Спустя 13 часов, 52 минуты, 6 секунд (27.10.2010 - 08:39) linker написал(а):
kirik
Как ты думаешь сколько долго пролежит файл в кэше, если кроме него еще куча файлов: php, js, css, png, jpg и прочие, плюс операционная система тоже не сидит сиднем, плюс php если CGI постоянно запускается как процесс, плюс еще и еще куча всего. В вакууме в идеальных условиях может и пролежит он там достаточно долгое время, но в реале, когда один файлик окружают еще куча всего, сомневаюсь.

Спустя 1 день, 20 часов, 47 минут, 17 секунд (29.10.2010 - 05:26) kirik написал(а):
Цитата (linker @ 27.10.2010 - 00:39)
Как ты думаешь сколько долго пролежит файл в кэше, если кроме него еще куча файлов: php, js, css, png, jpg и прочие, плюс операционная система тоже не сидит сиднем, плюс php если CGI постоянно запускается как процесс, плюс еще и еще куча всего.

Он один просидит там гораздо дольше, чем много мелких файлов. Он будет "активный", тоесть к нему будут постоянно обращаться.

Спустя 2 часа, 55 минут, 25 секунд (29.10.2010 - 08:22) linker написал(а):
kirik
А к тем файликам не будут постоянно обращаться? Другие побочные эффекты я описал выше, скрипт и данный файлик не живут в вакууме, поэтому можешь тешить себя мыслью, что авось большой файлик будет сидеть в кэше вечно и строить хитроумные алгоритмы для вычленения, удаления, редактирования записей из этого текстового файлика. Вместо того, чтобы взять золотую середину и при этом еще сэкономить на ресурсах и памяти.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.