Wie schon von TS beschrieben wäre es ein „ressourcenschonender“ Weg, eine HEAD-Abfrage zu machen.
Da Du aber binnen „nullkommafastnichts“ ohnehin auf die Idee kommen wirst, weitere Informationen erlangen zu wollen, empfehle ich Dir cUrl zu verwenden. Das geht etwa so:
<?php
$dst_url = 'https://www.example.com';
header( 'Content-Type text/plain' );
error_reporting( E_ALL );
ini_set( 'display_errors', 1);
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $dst_url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'HEAD' );
curl_setopt( $ch, CURLOPT_NOBODY, true );
$result = curl_exec( $ch );
print_r( curl_getinfo( $ch ) );
Ausgaben:
Array
(
[url] => https://www.example.com/
[content_type] => text/html; charset=UTF-8
[http_code] => 200
[header_size] => 352
[request_size] => 53
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.589923
[namelookup_time] => 0.001856
[connect_time] => 0.145835
[pretransfer_time] => 0.446154
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => 648
[upload_content_length] => -1
[starttransfer_time] => 0.589903
[redirect_time] => 0
[redirect_url] =>
[primary_ip] => 93.184.216.34
[certinfo] => Array
(
)
[primary_port] => 443
[local_ip] => 192.168.1.2
[local_port] => 41472
[http_version] => 3
[protocol] => 2
[ssl_verifyresult] => 0
[scheme] => HTTPS
[appconnect_time_us] => 446046
[connect_time_us] => 145835
[namelookup_time_us] => 1856
[pretransfer_time_us] => 446154
[redirect_time_us] => 0
[starttransfer_time_us] => 589903
[total_time_us] => 589923
)
Ich denke damit hast Du einen guten Startpunkt für weitere Überlegungen und Planungen - z.B. hinsichtlich der Frage, welche Informationen Du wie weiterverarbeiten willst. Wenn z.B. keine "primary_ip" geliefert wird hast Du einen DNS-Fehler, den Du weiter untersuchen musst bzw. kannst. Im Erfolgsfall könnten Dich die Zeitangaben interessieren…
Mehr Informationen (z.B. Erklärungen zu den Items des Arrays) findest Du im PHP-Handbuch, hier mal ab curl_getinfo().
Vorteil: cURL gibt es auch in zahlreichen weiteren Programmsprachen, sogar als eigenständiges Programm. Ich würde erwarten, dass jeder Hoster das entsprechende PHP-Modul installiert hat.
Falls Du (was ich für einen Fehler halte) eine Testumgebung unter Windows benutzt (also Dein PHP unter Windows läuft solltest Du die Hinweise zur Installation lesen.