<?php 
 
$settingFile = './settings.txt'; 
if (file_exists($settingFile) === false) { 
    echo $settingFile , " is not found." . PHP_EOL; 
    exit(1); 
} 
 
$settings = explode(PHP_EOL, file_get_contents($settingFile)); 
 
if (count($settings) - 1 !== 2) { 
    echo 'Settings line numbers should be 2.' . PHP_EOL; 
    exit(1); 
} 
 
if (substr($settings[0], 0, 4) !== 'url=') { 
    echo 'Setting should begin with url= in the first line.' . PHP_EOL; 
    exit(1); 
} 
 
if (substr($settings[1], 0, 24) !== 'ifttt_maker_service_url=') { 
    echo 'Setting should begin with ifttt_maker_service_url= in the second line.' . PHP_EOL; 
    exit(1); 
} 
 
$monitoredUrl = substr($settings[0], 4); 
$makerServiceUrl = substr($settings[1], 24); 
 
$curl = curl_init($monitoredUrl); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($curl); 
$responseInfo = curl_getinfo($curl); 
 
if ($responseInfo['http_code'] === 200) { 
    curl_close($curl); 
    echo $monitoredUrl . ' healthy is good!' . PHP_EOL; 
    exit(0); 
} 
curl_close($curl); 
 
$curl = curl_init($makerServiceUrl); 
$json = [ 
    'date' => date('Y-m-d H:i:s'), 
    'status' => $monitoredUrl . ' website is down!', 
    'status_code' => $responseInfo['http_code'], 
]; 
 
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($json)); 
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type:application/json']); 
$response = curl_exec($curl); 
 
$responseInfo = curl_getinfo($curl); 
curl_close($curl); 
 
if ($responseInfo['http_code'] === 200) { 
    echo $response, PHP_EOL; 
} 
 
 |