気分転換に触ったPHP
興味の対象がうつろいやすい(白目
PHPにもちょっと興味が出たので触ってみた
ファイル読み込んでPing飛ばすやつ
セキュリティとか考慮の外なのでもし利用するなら注意が必要
むしろ利用しないほうがいいまである(真顔
あとnoteってプログラム書くの向いてないんやなって(今更並感
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ファイル読み込んでPing飛ばすぜ</title>
</head>
<body>
<?php
// Ping用設定
define('PING_OPTION',[
'Linux' => '-c', // Linux
'Darwin' => '-c', // macOS
'WINNT' => '-n', // windows
]);
// Ping関数
function ping($host,$count = 1)
{
// IP表示
echo $host;
echo '<BR>';
// IPとMACを分離
$host = explode("/",$host,2);
$option = PING_OPTION[PHP_OS];
exec(sprintf("ping {$option} {$count} %s",escapeshellarg($host[0])),$output,$result);
foreach($output as $i){
$i = mb_convert_encoding($i,"utf-8","auto");
// なぜか存在しないホストにPing飛ばすとステータスが成功になるので
// 宛先ホストなかったら失敗でしょってことで失敗にしてる
if(strpos($i,'宛先ホストに到達できません。') !== false){
$result = false;
}
}
if($result !== 0){
echo 'ping 失敗',PHP_EOL;
foreach($output as $i){
$i = mb_convert_encoding($i,"utf-8","auto");
print $i;
print '<BR>';
}
echo 'ping 失敗';
}else{
echo 'ping 成功',PHP_EOL;
}
return compact('result','output');
}
if(isset($_POST['button'])){
ping($_POST['button']);
}
$filename = 'targetList.txt';
$line = file($filename);
echo '<TABLE cellpadding="4" cellpacing="1" style="background-color :#aaaaaa;"><TBODY>';
for ( $a = 0; $a < count($line); $a++) {
$data = explode("\t",$line[$a]);
echo '<TR>';
$style = 'background-color : #ffffff';
for ($b = 0; $b < count($data); $b++) {
echo '<TD style="' . $style . '">' . $data[$b] . '</TD>';
}
echo '<TD style="' . $style . '">';
// ボタン表示
echo '<form method="post" action="">';
echo '<input name="button" type="submit" value = "'.$data[1]."/".$data[2]. '">';
echo '</form>';
echo '</TD>';
echo '</TR>';
}
echo '</TBODY></TABLE>';
$line =file($filename);
?>
</body>
</html>