2017-11-10 9 views
1

私はこの機能を使ってPHPを使ってpingコマンドを実行しています。できるだけ詳細にpingコマンドのログファイルを作成したいと思います。 ログファイルにあなたのテーブルを書きたいと仮定すると、私のコード(pingコマンドを使用して)PHPのログファイルを作成する方法は?

<?php $host=array(
    "test6" => "127.0.0.1", 
    "test5" =>"98.139.180.149", 
    "test4" =>"192.168.0.60", 
    "test3" =>"172.217.23.78", 
    "test2" =>"192.168.0.62", 
    "test1" =>"184.168.221.104", 
); 
$port=""; 
foreach ($host as $key => $value) { // $output=shell_exec('ping -n 1 '.$value); 
    if (!$socket = @fsockopen( $value, 80, $errno, $errstr, 1)) { 
     echo ' <table border="1" > 
      <td>'.$key.'</td> 
      <td>'.$value.'</td> 
      <td> offline</td> 

     </table>'; 
    } else { 
     echo ' <table border="2"> 
      <td>'.$key.'</td> 
      <td>'.$value.'</td> 
      <td> online</td> 

     </table>'; 


    fclose($socket); 
    }; 
}; 
+1

を考慮して変更し、どこで問題がまさにそれですか? – Connum

答えて

0

<?php $host=array(
    "test6" => "127.0.0.1", 
    "test5" =>"98.139.180.149", 
    "test4" =>"192.168.0.60", 
    "test3" =>"172.217.23.78", 
    "test2" =>"192.168.0.62", 
    "test1" =>"184.168.221.104", 
); 

$res = fopen('/path/to/logfile.log',"a"); 

foreach ($host as $key => $value) { 
    if (!$socket = @fsockopen( $value, 80, $errno, $errstr, 1)) { 
     $table = ' <table border="1" > 
      <td>'.$key.'</td> 
      <td>'.$value.'</td> 
      <td> offline</td> 

     </table>'; 
     fwrite(res, $table . "\n"); 
    } else { 
     $table = ' <table border="2"> 
      <td>'.$key.'</td> 
      <td>'.$value.'</td> 
      <td> online</td> 

     </table>'; 
     fwrite(res, $table . "\n"); 
     fclose($socket); 
    } 

} 
fclose($res); 

編集:@フィリップさんのコメント

+0

セミコロンは間違っていませんが、必要でもあります - 代わりにfcloseが正しくありませんでした - 利用できないソースを閉じると少なくとも警告がスローされます – Philipp

+0

PHPを10年以上コーディングしていて、 。それでも、エラーが発生していなくても、余計です。 – fred2

+0

SamHecquet:最初にありがとうございますが、私はあなたが投稿したものを知っていますが、私はpingについてのすべてのデータを表示するためにログファイルを作成する必要があります –

関連する問題