Goblin Posted October 12, 2007 at 05:31 AM Posted October 12, 2007 at 05:31 AM Я всегда использовал стандартную схему хранения данных - файловую, но вот недавно попробовал и все нормально заработало с использованием модуля хранения в mysql. Отсюда вопрос: как правильно получать данные из конфигурации пользователя? Возможно есть какие то штатные возможности или надо использовать самописные схемы? Если можно покажите примеры. Заранее спасибо.
Колян Posted October 12, 2007 at 06:03 AM Posted October 12, 2007 at 06:03 AM #!/usr/bin/php <? mysql_connect('localhost','root','bebebe'); mysql_select_db('stargazer'); $res=mysql_query("SELECT * FROM users"); @mkdir("/var/stargazer/users", 0755); while ($row = mysql_fetch_array($res)) { @ mkdir("/var/stargazer/users/".$row['login'], 0755); $fileName = ("/var/stargazer/users/".$row['login']."/conf"); $fileNamestat = ("/var/stargazer/users/".$row['login']."/stat"); $data="Address=".$row['Address']."\n"; $data.="AlwaysOnline=".$row['AlwaysOnline']."\n"; $data.="CreationTime=0\n"; $data.="Credit=".$row['Credit']."\n"; $data.="CreditExpire=".$row['CreditExpire']."\n"; $data.="Down=".$row['Down']."\n"; $data.="Email=".$row['Email']."\n"; $data.="Group=".$row['StgGroup']."\n"; //$data.="Iface=".$row['Iface']."\n"; $data.="IP=".$row['IP']."\n"; $data.="NAS=127.0.0.1\n"; $data.="Note=".$row['Note']."\n"; $data.="Passive=".$row['Passive']."\n"; $data.="Password=".$row['Password']."\n"; $data.="Phone=".$row['Phone']."\n"; $data.="RealName=".$row['RealName']."\n"; $data.="Tariff=".$row['Tariff']."\n"; $data.="TariffChange=".$row['TariffChange']."\n"; $data.="Userdata0=".$row['Userdata0']."\n"; $data.="Userdata1=".$row['Userdata1']."\n"; $data.="Userdata2=".$row['Userdata2']."\n"; $data.="Userdata3=".$row['Userdata3']."\n"; $data.="Userdata4=".$row['Userdata4']."\n"; $data.="Userdata5=".$row['Userdata5']."\n"; $data.="Userdata6=".$row['Userdata6']."\n"; $data.="Userdata7=".$row['Userdata7']."\n"; $data.="Userdata8=".$row['Userdata8']."\n"; $data.="Userdata9=".$row['Userdata9']."\n"; file_put_contents( $fileName,$data); //stat $stat="Cash=".$row['Cash']."\n"; $stat.="D0=".$row['D0']."\n"; $stat.="D1=".$row['D1']."\n"; $stat.="D2=".$row['D2']."\n"; $stat.="D3=".$row['D3']."\n"; $stat.="D4=".$row['D4']."\n"; $stat.="D5=".$row['D5']."\n"; $stat.="D6=".$row['D6']."\n"; $stat.="D7=".$row['D7']."\n"; $stat.="D8=".$row['D8']."\n"; $stat.="D9=".$row['D9']."\n"; $stat.="U0=".$row['U0']."\n"; $stat.="U1=".$row['U1']."\n"; $stat.="U2=".$row['U2']."\n"; $stat.="U3=".$row['U3']."\n"; $stat.="U4=".$row['U4']."\n"; $stat.="U5=".$row['U5']."\n"; $stat.="U6=".$row['U6']."\n"; $stat.="U7=".$row['U7']."\n"; $stat.="U8=".$row['U8']."\n"; $stat.="U9=".$row['U9']."\n"; $stat.="FreeMb=".$row['FreeMb']."\n"; $stat.="LastActivityTime=".$row['LastActivityTime']."\n"; $stat.="LastCashAdd=".$row['LastCashAdd']."\n"; $stat.="LastCashAddTime=".$row['LastCashAddTime']."\n"; $stat.="PassiveTime=".$row['PassiveTime']."\n"; file_put_contents( $fileNamestat,$stat); } mysql_free_result($res); 1. Сохрани этот скрипт допустим в /mysql_files 2. B OnConnect допиши строчку для запуска этого скрипта, только на скрипт не забудь выставить права 755. Я так делаю. В итоге при коннекте юзера дампица база в файло, и из файла обычными скриптами без всяких заморочек берутся данные с файлов. Мало того, если база слетит, у тя есть бекап У меня за 0,2 секунды 75 юзеров дампит, довольно таки быстро. На сервер нагрузки не замечал... Хотя в онлине сидит бывает и до 30-40. Я пытался написать скрипт на пхп, так то он сам по себе работает, а с СТГ нет, я имею ввиду скрипт OnConnect.
Queeq Posted October 12, 2007 at 09:09 AM Posted October 12, 2007 at 09:09 AM А как вы переносили детальную статистику юзеров в мускл?
Колян Posted October 12, 2007 at 10:22 AM Posted October 12, 2007 at 10:22 AM Я не переносил. Ручками в принципе можно нашкарябать скрипт.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now