24 Nisan 2007, 21:20
#1 Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
PHP ile IRC Server 'a Bağlanıp Kanal listesi almak.
PHP ile IRC Server'a Bağlanıp Kanallar listesini Web'e okutma sistemidir.
Screenshot [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN... ] PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
<?php error_reporting ( E_ALL & ~ E_NOTICE ); set_time_limit ( 0 ); $info = array( //Kullanıcı Rumuzu 'nick' => 'WingLisT' , //Gerçek Ad 'realname' => "TRWork" , //Bağlanacağınız Sunucunun Adı 'server' => 'irc.trwork.net' , //Portu 'port' => 6667 ); $scon = fsockopen ( $info [ 'server' ], $info [ 'port' ]); fputs ( $scon , "USER " . $info [ 'nick' ] . " 0 0 :" . $info [ 'realname' ] . "\r\n" ); fputs ( $scon , "NICK " . $info [ 'nick' ] . "\r\n" ); $channels = array(); while ( $rawmsg = fgets ( $scon )) { if ( preg_match ( "/PING :([A-Z0-9]{1,})/" , $rawmsg , $pingcode )) { fputs ( $scon , "PONG: " . $pingcode [ 1 ] . "\r\n" ); } if ( preg_match ( "/:([a-zA-Z0-9\^_\-]+) MODE ([a-zA-Z0-9\^_\-]+) :\+(\w+)/i" , $rawmsg )) { fputs ( $scon , "list\r\n" ); } if ( preg_match ( "/:([a-zA-Z0-9\._-]+) 322 ([a-zA-Z0-9\^_\-]+) \#(\w+) (\d+)/i" , $rawmsg , $fsc )) { $channels [ $fsc [ 3 ]] = $fsc [ 4 ]; } if ( preg_match ( "/:([a-zA-Z0-9\._-]+) 323 ([a-zA-Z0-9\^_\-]+) :End of \/LIST/i" , $rawmsg )) { break; } } fclose ( $scon ); arsort ( $channels ); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. style="color: #0000BB"><?php echo $info [ 'server' ]; ?> Kanal Listesi</td> </tr> <tr> <td class="heading">Kanal</td> <td class="heading">Kullanıcı</td> </tr> <?php foreach ( $channels AS $chan => $user ) { ?> <tr> <td class="data">#<?php echo $chan ; ?> </td> <td class="data"><?php echo $user ; ?> </td> </tr> <?php } ?> </table> </body> </html>