Guten Abend, ich suche eine Möglichkeit um mit PHP oder einem CURL Request die Größe einer Webseite zu ermitteln?

... komplette Frage anzeigen

2 Antworten

Du könntest mit cURL die Fileheader prüfen, dort speziell die "Content-Length".

Das könnte z.B. so aussehen:

function getSize($site) {


$ch = curl_init($site);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

$data = curl_exec($ch);
curl_close($ch);

if (preg_match('/Content-Length: (\\d+)/', $data, $matches)) {
return (int)$matches[1]; // Ergibt die Dateigröße in Bytes
}
}

Also $site würde man dann halt die URL einer Seite (inkl http://...) übergeben.

Das funktioniert natürlich immer nur für die gerade geprüfte Seite / Datei selbst, d.h. um die gesamte Größe einer Webseite zu ermitteln müsstest du die Seite einmal komplett abrufen, parsen und dir alle eingebundenen Dateien (JS, Bilder, CSS etc) dort heraussuchen (und das ggf rekursiv auch bei diesen nochmal genauso) und die wiederum prüfen und dann halt alles zusammenrechnen.

Antwort bewerten Vielen Dank für Deine Bewertung

Viel Spaß das wird nen mittel grosses projekt. Kannst die gesamte seiten erstmal durchsuchen inkl js verarbeiten lassen um zu schauen ob via js noch was geladen wird und musst Einbindung folgen womit man natürlich versuchen kann endlosschleifen zu erzeugen. Daran solltest du dann auch denken

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?