気分転換に触った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>