Регистрация по ид

Печать RSS
186

О
Автор
Пришелец
0
Ну я делал так: есть файл ид.дат, в котором хранится число(допустим 1) при успешной реге значение цифры в файле увеличивается на 1 и присваивается юзеру, как ид(в нашем случае ид=2)
 <?
$file = "id.dat"; $f = fopen($file, "r"); $id = fgets($f, 100); fclose($f); $id++; $f = fopen($file, "w"); fputs($f, $id); fclose($f);
?> 
, ну и при следующей реге все то же самое. Но оно тормозит скрипт сильно. Лишних секунд 5-10 при создании нового пользователя(юзер заполнил поля, нажал 'регистрация' и если успешно, то долго идет загрузка). Вот думаю, как можно оптимизировать этот процесс

Добавлено через 08:57 сек.
Тitov (15 Марта 2011 / 14:21)
1 я так понимаю нужно чтоб ид по порядку шел, 1,2,3,4,5,6, ... 99999999
файл users.dat должен писаться такого плана
id:|:login:|:pass:|: и т.д. смотря сколько полей ты желаеш заполнить для пользователя, тогда код который ниже будет прекрасно работать.
<?
function user_id() {
$file=file('users.dat');
if (!empty($file[0])) {
$ex=explode(':|:',$file[0]);
return trim($ex[0])+1;
} else {
return '1'; }
}
?>

<?
$id = user_id();
?>
как я понял, этим можно заменить то, что выполняется у меня в посте выше?
Изменил: Олег (15.03.2011 / 18:07)

Чатланин
0
<? 
function user_id() { 
$file=file('users.dat');
$file = array_reverse($file);
if (!empty($file[0])) { 
$ex=explode(':|:',$file[0]); 
return trim($ex[0])+1; 
}
return '1';
} 
?>
или
<? 
function user_id() { 
$file=file('users.dat'); 
if (!empty(end($file))) { 
$ex=explode(':|:',end($file)); 
return trim($ex[0])+1; 
} 
return '1';
} 
?>
иначе после первого ид последуют только вторые smile
Изменил: Виталий (15.03.2011 / 20:07)
О
Автор
Пришелец
0
12. CUl5-AJIb9lHC, главный вопрос: какой способ работает быстрее?

[̲̅$̲̅(̲̅ιοο̲̅)̲̅$̲̅
0
13: bezh, на БД.

Чатланин
0
13. bezh, используй бд, нех.. заморачиваться!!!
О
Автор
Пришелец
0
Я спросил как это сделать на файлах а не на чем это делать. Если не знаете как, не надо здесь писать типо переходи на мускул и т.д. Мне ваши 'умные советы' не нужны. Мне нужен ответ на вопрос. А если я выбрал на файлах, значит были на то причины.

[̲̅$̲̅(̲̅ιοο̲̅)̲̅$̲̅
0
16: bezh, а ты нервы свои убери уважаемый. Тебе сказали и дали примеры наглядные,если ты не соображаешь забей. И читай книжку.
А

Пацак
0
16. bezh, такое ощущение, что тебе здесь кто то что то должен.
Дали готовый код, что еще?
Загони оба варианта в цыкл на 1-10К итераций и выведи время генерации страницы - увидишь разницу.
О
Автор
Пришелец
0
Я нормально задал вопрос. Я прекрасно понимаю что все хотят блеснуть умом здесь. Но зачем мне мускул, если я ясно написал что на файлах скрипт.

Добавлено через 01:51 сек.
Ну а всем кто написал по теме - спасибо
О
Автор
Пришелец
0
Тема исчерпана. Ответ я получил. Тему #
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск