<?php
//isset()检测变量是否被声明且值不能null
//判断$_POST[ 'Submit' ]是否接收了一个名为Submit的参数
if( isset( $_POST[ 'Submit' ] ) ) {
// 通过REQUEST方式接收一个名为ip的参数,并使用trim()函数将参数的值两侧的空白字符去掉,最后将结果赋值给target
$target = trim($_REQUEST[ 'ip' ]);
// 定义了一个数组substitutions
$substitutions = array(
'&' => '',
';' => '',
'| ' => '',
'-' => '',
'$' => '',
'(' => '',
')' => '',
'`' => '',
'||' => '',
);
// array_key提取出数组中所有键的名字,放在一个新的数组中
// 使用str_replace()函数将变量target中的包含的substitutions数组健名查找并替换为数组的值
// 最后将替换的结果重新赋值给target
$target = str_replace( array_keys( $substitutions ), $substitutions, $target );
// php_uname('s')获取操作系统的名称
// 在操作系统名称中不区分大小写地查找Windows NT字符串
if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
// 如果操作系统名称中包含指定字符串,则进行拼接
// 拼接之后,使用shell_exec()函数执行并输出,并将输出的结果赋值给变量cmd
$cmd = shell_exec( 'ping ' . $target );
}
else {
// 如果操作系统名称中包含指定字符串,则进行拼接
// 拼接之后,使用shell_exec()函数执行并输出,并将输出的结果赋值给变量cmd
$cmd = shell_exec( 'ping -c 4 ' . $target );
}
// 输出执行结果
echo "<pre>{$cmd}</pre>";
}
?>
trim
去除字符串两侧空白字符(或其他预定义字符)的函数
<?php
$str= " Hello,World! ";
$new= trim($str);
echo(':'.$str.':');
echo('<br>');
echo(":".$new.":");
?>
str_replace
用于替换字符串中的部分内容的函数
<?php
$str= "My name is wzx";
$new= str_replace('wzx', 'GGB', $str);
echo($new);
?>
array_keys
PHP中的一个数组函数,用于获取一个数组中所有键名或值为指定值的元素的键名。
<?php
$arr= array(
'a'=> 1,
'b'=> 2,
'c'=> 3,
'd'=> 4
);
var_dump($arr);
echo('<br>');
$new =array_keys($arr);
var_dump($new);
?>
stristr
PHP 中的一个字符串处理函数,用于在字符串中执行不区分大小写的查找操作。
<?php
$str= "This is zz,GGB,wzx,jj";
$name1= "zz";
$name2= "GGB";
$result1= stristr($str, $name1);//false或省略,匹配之后的部分,包括当前位置
$result2= stristr($str, $name2,true);//true输出匹配位置之前的部分
echo ($result1.'<br>');
echo $result2;
?>
php_uname
PHP 中用于获取操作系统相关信息的函数
<?php
//获取系统相关信息:a或省略
$a= php_uname();
echo($a.'<br>');
//获取操作系统名称:s
$s= php_uname("s");
echo($s.'<br>');
//获取主机名:n
$n= php_uname("n");
echo($n.'<br>');
//获取操作系统发行版本:r
$r= php_uname("r");
echo($r."<br>");
//获取操作系统版本:v
$v= php_uname("v");
echo($v."<br>");
//返回硬件类型:m
$m= php_uname("m");
echo($m."<br>");
?>