一个用于网络的工具函数库

2016-01-29 14:47 7 1 收藏

一个用于网络的工具函数库,一个用于网络的工具函数库

【 tulaoshi.com - PHP 】

  <?PHP

/*
PHP Net Toolpack v0.1 08.05.2000,
by waddler(@netlife.fi)
phpnettoolpack.sourceforge.net
To be distributed under GNU GPL
*/

// whois(hostname [,username, [port]])
Function whois ($a_server, $a_query="", $a_port=43) {
$sock = fsockopen($a_server, $a_port, &$errno, &$errstr, 10);
if (!$sock)
{
echo "$errstr ($errno)<BRn";
} else {
fputs($sock, "$a_queryrn");
while(!feof($sock))
{
$buf = fgets($sock,128);
if (ereg( "Whois Server:", $buf))
{
$a_server = str_replace( "Whois Server: ", "", $buf);
$a_server = trim($a_server);
}
}
fclose($sock);

if ($a_server)
{
print "<B$a_query is registered at $a_server:</B<BR";
$sock = fsockopen($a_server, 43, &$errno, &$errstr, 10);
if(!$sock)
{
echo "Could not open connection to $a_server on port $a_port.n";
echo "$errstr ($errno)<BRn";
} else {
fputs($sock, "$a_queryrn");
while(!feof($sock))
{
echo fgets($sock,128);
}
fclose($sock);
}
} else {
echo "<b$a_query was not found.</b<BR";
}
}
}


// finger(hostname [,username, [port]])
Function finger ($a_server, $a_query="", $a_port=79) {
$sock=fsockopen($a_server,$a_port, &$errno, &$errstr, 10);
if (!$sock)
{
$ret_str = "$errstr ($errno)<BRn";
} else {
fputs($sock,"$a_queryn");
while (!feof($sock)) { $ret_str .= fgets($sock,128); }
fclose($sock);
}
echo $ret_str;
return $ret_str;
}


// traceroute(hostname)
Function traceroute ($a_query) {
exec("traceroute $a_query",$ret_strs);
$str_count = count($ret_strs);
for ($count=0; $count < $str_count; $count++)
print "$count/$str_count".$ret_strs[$count]."n";
}


// -----------------------------------------------------------


$app_name = "PHP Net Toolpack";
$app_version = "0.1";

$TOOLS = array(
"finger" = "Finger",
"traceroute" = "Traceroute",
"whois" = "Whois?"
);

// when included inside <select name="tool" on a html file ..
if ($tool=="listtools")
{
while (list($key, $val) = each($TOOLS)) {
print " <OPTION VALUE="".$key.""".$val."</OPTIONn";
}
exit;
}

// print appropriate html header
print "<HTML";
if ($tool)
{
print "<HEAD<TITLE".$tool." for ".$query."</TITLE</HEADn";
print "<BODYn<H3".$tool." for ".$query." ..</H3n";
} else {
print "<HEAD<TITLE".$app_name."</TITLE</HEADn";
print "<BODYn<H3".$app_name."</H3n";
}

// check what tool they want to use and do what is necessary
switch($tool) {
case "finger":
if ($query)
{
print "<PREn";
finger($server, $query);
print "</PRE";
} else {
?

<FORM ACTION="<?PHP echo($PHP_SELF. "?tool=".$tool); ?" METHOD="post"
Server : <INPUT TYPE="text" NAME="server" VALUE="localhost" <BR
Query : <INPUT TYPE="text" NAME="query" SIZE="40" MAXLENGTH="100" <BR
<INPUT TYPE="submit" VALUE="Finger"
</FORM

<?PHP
}
break;

case "traceroute":
if ($query)
{
print "<PREn"

来源:http://www.tulaoshi.com/n/20160129/1494235.html

延伸阅读
标签: Web开发
Classes: Collections Arrays ArrayList SortedList extends ArrayList HashMap HashSet */ /**************** Collections NOTE:sort() return a new List ****************/ function Collections(){} Collections.sort=function(){ if(arguments.length==1){  var s=new ...
本函数库供存取 MySQL 数据库。有关 MySQL 的细节,及下载 MySQL 数据库,请到这个网址 http://www.mysql.com 。而网络上也有许多提供处理 MySQL 的用户界面程序,建议到 http://www.phpwizard.net/phpMyAdmin 下载 phpMyAdmin,可以使用浏览器操作及管理 MySQL。整套&n...
标签: ASP
以前一直困扰我的一个问题,如何判断数据库连接是否成功(比如sql没有启动,数据库不存在等),实现友好的错误处理,但vbscript的错误处理机制实在太差,只有on error resume nex/go to,但往往使用ADO的错误陷阱后,等待你的将是脚本超时,这个函数将改变这一状况(连接超时长短可以自己根据实际情况控制) '入口参数:连接字符串strconn '返回...
标签: PHP
  这个分页函数非常高只能的 看看就知道了 function ppage($total, $page, $e_page = 15, $e_block = 10, $url = '', $color = '') { if(!strpos($url,'?'))    $url.='?'; else    $url.='&'; if($color<'') {    $color   ='<font color='.$color.''...
标签: Web开发
我尽量不说大理论,诸如什么是png,自己查解决. PHP自4.3版本开始,捆绑了自己的GD2库,用户可以自己下载并设置.如果要查看自己的php版本是否支持gd模块(支持JPEG,PNG,WBMP但不再支持GIF),如下方式是一种方法: if(!function_exists('imagecreate')) { die('本服务器不支持GD模块'); } 如果不支持的话,如何配置 ? 下载gd模块的dll文件,修改php.in...

经验教程

886

收藏

62
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部