Gezippte Dateien erkennen
Redaktionelle Einordnung
Diese archivierte Diskussion behandelt Gezippte Dateien erkennen aus Sicht der Rubrik PHP & MySQL.
CMS- und Technikfragen sind heute besonders dann relevant, wenn sie Indexierung, Rendering, interne Verlinkung oder Relaunch-Risiken beeinflussen.
Sinnvoll nutzbar bleibt der Thread vor allem als historischer Kontext, für typische Fragestellungen und zur Einordnung älterer Empfehlungen.
Einige im historischen Thread genannte Tools, Dienste oder externe Links könnten heute nicht mehr verfügbar oder inhaltlich überholt sein. Nutzen Sie sie bitte nur mit zusätzlicher Prüfung.
Startbeitrag
Originaler Foreninhalt in modernisierter Darstellung.
Hallo
Ich habe mal eine Frage.
Wie kann ich Dateien per PHP erkennen die als gezippte Versionen verfügbar sind?
Zum Beispiel example.com/index.html.gz
Die Lösung die ich momentan verwende gefällt mir überhaupt nicht weil sie davon ausgeht das valider Quellcode verfügbar ist.
Der Aufruf der Seite wird über curl aufgebaut. Dabei möchte ich dann erkennen können ob es sich um so einen Fall handelt.
Achja Schon mal Danke an Heiko.
Dank deiner Seite in der Version davor konnte ich da jetzt noch was eliminieren.
Auch an Lutz und Andreas ein Danke
Die Analyse habe ich zwar jetzt wegen eurer Seiten komplett umgeschrieben und den Bug entfernt.
Dafür ist halt eben noch was dazu gekommen was mir sehr gut gefällt.
Was habe ich damals nur für einen Schrott geschrieben.
Gruß
Jörg
Antworten
6 BeiträgePrüfen, ob im Header
Content-Encoding: gzip
mitgesendet wurde.
Make Seitenreport great again!
Hallo
Ich denke jetzt mal das der Winner get_headers sein wird.
ca2.php.net/manual/de/function.get-headers.php
Ich muss zwar jetzt noch sehen wie ich das genau mache und das führt dann zwar letzten Endes wie ich gerade sehe dazu das die Erkennung zwar funktioniert und meine Alternative dann wegfällt.
Das nehme ich dann aber in Kauf.
Gruß
Jörg
Hi Jörg,
Du kannst curl weiterhin benutzen, wenn Du den Quellcode danach einer Untersuchung unterziehen willst, hast Du alles gleich beisammen:
<?php
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_HEADER => true, //die Header des Servers werden in die Ausgabe aufgenommen
CURLOPT_ENCODING => \'\', //setzt alle Accept-Encoding-Varianten (gzip, deflate)
CURLOPT_RETURNTRANSFER => true, //der Inhalt wird als String zurückgegeben
CURLOPT_URL => $url
));
$var = curl_exec($ch);
curl_close($ch);
?>
------ (wie ist der Code-Tag hier...? Andere schaffen das immer so schön...)
In $var hast Du jetzt die gesamte Antwort des Servers, die Header-Zeilen und den Inhalt.
Also kannst Du damit wie gewünscht weiterarbeiten.
Make Seitenreport great again!
Hallo Matthias
Danke für die Idee mit dem <?php curl_setopt($curl,CURLOPT_ENCODING,""); ?>
Das habe ich irgendwie übersehen oder zu dem Zeitpunkt nicht verstanden.
Ich habe zwar jetzt die Optionen nicht als Array gesendet, aber mein Code sieht sonst genau so aus wie deiner.
Ausser das die Variablen anders benannt sind und das das hier noch drin steht
<?php
$dateiart = curl_getinfo($curl,CURLINFO_CONTENT_TYPE);
$httpmeldung = curl_getinfo($curl,CURLINFO_HTTP_CODE);
?>
Gut das meine Curl Version 7.18.2 ist.
Wolltest du jetzt mit deiner Frage mit dem Code Tag auf htmlspecialchars herraus?
Nein ich habe nicht vor den Code auszugeben. Dazu müsste ich mich dann mehr in Kodierungen zum Beispiel noch einlesen und das bisherige Ergebnis sieht nicht sehr glücklich aus.
Gruß
Jörg
Nein, ich wollte auf "[ php ]" hinaus. Als ich Deinen Beitrag gerade zitieren wollte, hat es das angezeigt. Ich habe immer "[ code ]" ausprobiert, weil ich das aus anderen Foren gewöhnt bin und kam gar nicht auf den Gedanken, die andere Variante zu testen.
Sonst stehen meine PHP-Beispiele immer unformatiert mitten im Text.
Der Funktion curl_getinfo fehlt das Content-Encoding, das ist sicher für viele Anwendungen ganz interessant, aber zur Zeit muss man das eben noch vergleichsweise mühsam aus dem Header herausbasteln.
Make Seitenreport great again!
Hallo Matthias
Achso ich verstehe darauf wolltest du hinaus.
Sind zwar dann auch lesbar aber ich bevorzuge das auch es eher formatiert auszugeben.
Mit css,sql und html funktioniert es hier auch. www.seitenreport.de/faq/forum/welche-bbcodes-kann-ich-verwenden
[xml]Test[/xml] fehlt aber noch zum Beispiel
Ich weiss jetzt aber nicht ob bei den 3 genannten Varianten wirklich Unterschiede existieren bei der Erstellung des HTML Codes hier.
Ich denke ich werde den Part zumindest als function jetzt auch aufbauen damit ich das jederzeit einbinden kann.
So bin ich dann für Erweiterungen dann gerüstet.
Und wenn ich es mal schaffen sollte OOP anzuwenden dann schreibe ich mir es eben nochmal um.
Gruß
Jörg