ICEMAN
جمعه 31 خرداد 1392, 15:49 عصر
سلام
من دارم یک پورتال ساده Hotspot مینویسم من میخوام لیست همه کاربرانی که الان متصل هستن رو داشته باشم به همین منظور یک سری function ساده برای نوشتن اسم کاربرانی که connect میشن رو تو این File مینویسم و وقتی کسی Disconnect شد اسمش رو از File حذف میکنم.
تعداد کاربر ها حدوده ۴۰۰ تا ۵۰۰ نفره.
من زیاد PHP کار نکردم کد رو میزارم خواش میکنم اگه مشکلی دارش میبینید راهنمایی کنید
function getline( $fp, $delim )
{
$result = "";
while( !feof($fp) )
{
$tmp = fgetc( $fp );
if( $tmp == $delim )
return $result;
$result .= $tmp;
}
return $result;
}
function AddQueueManager($qUser, $qMac, $apMac, $qIp, $qTimestamp)
{
$qmgr= "qmgr.txt";
$FILE= fopen($qmgr, 'a');
if(!$FILE)
{
echo "ERRAdd: Cannot open file!";
return -1;
}
$str= "(".$qUser.")"."\t". "[".$qMac."]" ."\t".$apMac."\t".$qIp."\t".$qTimestamp."\t|"."\r\n";
fwrite($FILE, $str);
fclose($FILE);
return 0;
}
function FindQueueManager($qUser)
{
$FILE= fopen("qmgr.txt", 'r');
if(!$FILE)
{
echo "ERRFind: Cannot open file!";
return -1;
}
while(!feof($FILE))
{
$str = getline($FILE, '|');
//if(strstr($str, $qUser))
if(strstr(strtolower($str), strtolower($qUser)))
{
fclose($FILE);
return getMac($str);
}
}
fclose($FILE);
return 0;
}
function DeleteQueueManager($qUser)
{
$FILE= fopen("qmgr.txt", 'r');
$tmp= fopen("qTemp.txt",'w');
if(!$FILE)
{
echo "ERRDel: Cannot open file!";
return -1;
}
if(!$tmp)
{
echo "ERRDel: Cannot open tmp file!";
return -2;
}
while(!feof($FILE))
{
$str = getline($FILE, '|');
//if(strstr($str, $qUser))
if(strstr(strtolower($str), strtolower($qUser)))
{
continue;
}
else
{
if(strlen($str) > 3)
{
fwrite($tmp, $str.'|');
}
}
}
fclose($FILE);
fclose($tmp);
unlink("qmgr.txt");
rename("qTemp.txt", "qmgr.txt");
return 0;
}
ممنون
من دارم یک پورتال ساده Hotspot مینویسم من میخوام لیست همه کاربرانی که الان متصل هستن رو داشته باشم به همین منظور یک سری function ساده برای نوشتن اسم کاربرانی که connect میشن رو تو این File مینویسم و وقتی کسی Disconnect شد اسمش رو از File حذف میکنم.
تعداد کاربر ها حدوده ۴۰۰ تا ۵۰۰ نفره.
من زیاد PHP کار نکردم کد رو میزارم خواش میکنم اگه مشکلی دارش میبینید راهنمایی کنید
function getline( $fp, $delim )
{
$result = "";
while( !feof($fp) )
{
$tmp = fgetc( $fp );
if( $tmp == $delim )
return $result;
$result .= $tmp;
}
return $result;
}
function AddQueueManager($qUser, $qMac, $apMac, $qIp, $qTimestamp)
{
$qmgr= "qmgr.txt";
$FILE= fopen($qmgr, 'a');
if(!$FILE)
{
echo "ERRAdd: Cannot open file!";
return -1;
}
$str= "(".$qUser.")"."\t". "[".$qMac."]" ."\t".$apMac."\t".$qIp."\t".$qTimestamp."\t|"."\r\n";
fwrite($FILE, $str);
fclose($FILE);
return 0;
}
function FindQueueManager($qUser)
{
$FILE= fopen("qmgr.txt", 'r');
if(!$FILE)
{
echo "ERRFind: Cannot open file!";
return -1;
}
while(!feof($FILE))
{
$str = getline($FILE, '|');
//if(strstr($str, $qUser))
if(strstr(strtolower($str), strtolower($qUser)))
{
fclose($FILE);
return getMac($str);
}
}
fclose($FILE);
return 0;
}
function DeleteQueueManager($qUser)
{
$FILE= fopen("qmgr.txt", 'r');
$tmp= fopen("qTemp.txt",'w');
if(!$FILE)
{
echo "ERRDel: Cannot open file!";
return -1;
}
if(!$tmp)
{
echo "ERRDel: Cannot open tmp file!";
return -2;
}
while(!feof($FILE))
{
$str = getline($FILE, '|');
//if(strstr($str, $qUser))
if(strstr(strtolower($str), strtolower($qUser)))
{
continue;
}
else
{
if(strlen($str) > 3)
{
fwrite($tmp, $str.'|');
}
}
}
fclose($FILE);
fclose($tmp);
unlink("qmgr.txt");
rename("qTemp.txt", "qmgr.txt");
return 0;
}
ممنون