joerg
Avatar joerg
Themenersteller
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)

Gezippte Dateien erkennen

am 03.08.2010, 17:48 Uhr eröffnete joerg folgenden Thread
PHP & MySQL    1661 mal gelesen    6 Antwort(en).

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


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools

matthes
Avatar matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
am 03.08.2010, 18:04 Uhr schrieb matthes

Prüfen, ob im Header
Content-Encoding: gzip
mitgesendet wurde.


Make Seitenreport great again!

joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 04.08.2010, 09:46 Uhr schrieb joerg

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


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools

matthes
Avatar matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
am 04.08.2010, 11:07 Uhr schrieb matthes

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!

joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 04.08.2010, 11:48 Uhr schrieb joerg

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


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools

matthes
Avatar matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
am 04.08.2010, 12:32 Uhr schrieb matthes

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!

joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 04.08.2010, 13:01 Uhr schrieb joerg

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.html



[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


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools

  • 1


« zurück zu: PHP & MySQL

Das Seitenreport Forum hat aktuell 5276 Themen und 36111 Beiträge.
Insgesamt sind 48363 Mitglieder registriert.