Prüfen ob Bilddatei in .rar oder .zip Archive ist

ThiKool

Erfahrenes Mitglied
Hi Community,

ich habe diesmal echt ein kniffliges Problem und keine Ahnung wie ich das angehen soll und habe auch dazu nicht wirklich etwas gefunden.

Ich habe auf meinem Server viele Dateien gepackt im .zip und .rar Format liegen, einige enthalten .jpg, .gif, oder .bmp Dateien, aber eben nur einige!

Nun benötige ich ein Skript, welches mir anzeigt in welcher .zip oder .rar Datei eine Bilddatei schlummert.

Ich hoffe ihr könnt mir dabei helfen, danke schonmal! ;)

Liebe Grüße
 
Danke, darauf bin ich gestern auch kurz gestoßen, aber dafür muss ich doch etwas auf meinem Server installieren oder?

Kann ich irgendwo sehen ob die Schnitstelle bereits installiert ist - ich habe einen managed Server und nicht vollen Zugriff denke ich.

Wie ist das mit .zip Dateien und gibt es da keine Alternative?

Danke nochmal!
 
Man kann das auch relativ einfach haben. Obs schön ist ist die andere Frage.
PHP:
$filename = "test.rar";

$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);

preg_match_all('/(gif|jpg|jpeg|bmp)+/',$contents,$matches);

var_dump($matches);

Wobei für das blose überprüfen ein preg_match auch gereicht hätte.

Btw. Das Pattern ist noch ziemlich ungenau. Sollte nur ein Beispiel sein.
 
Hi,

also installieren geht leider bei meinem Server nicht:

"die Installation von PECL Extensions ist nicht möglich."

Werde heute Abend mal die Variante von rd4eva testen, vielen Dank schonmal******
 
Hmm komme irgendwie nicht weiter, weiß nicht genau wie ich das nun letztenendes prüfen soll.

Kann es sein, dass diese Methode nur funktioniert, wenn keine anderen Dateien enthalten sind?

Gibt es nicht die möglichkeit komplett auflisten zu lassen, welche Dateien drinnen sind und dadurch festzustellen ob eine Bilddatei enthalten ist?
 
Zuletzt bearbeitet:
Kommando zurück******

Es funktioniert sobald keine Unterordner im Archiv sind. So funktioniert es

Archiev/bildatei.jpg
Archiev/text.txt

Wird erkannt

Archiev/neuer ordner/text.txt
Archiev/text.txt

Wird ebenfalls erkannt obwohl keine bilddatei enthalten ist! Wie kann ich das ändern?
 
Zuletzt bearbeitet:
Es spielt keine Rolle ob noch andere Dateien in dem Archiv enthalten sind.
Genauso wenig spielt es eine Rolle ob die Bilder in einem Ordner in dem Archiv stecken.

Der Grund warum diese "Technik" von mir funktioniert ist nämlich ganz einfach der das Dateinamen in einem Archiv im klartext gespeichert werden.
Wenn du nicht weisst was ich meine dann öffne einfach mal ein Archiv mit einem beliebigen Texteditor.

Wird ebenfalls erkannt obwohl keine bilddatei enthalten ist! Wie kann ich das ändern?
Ich hatte bereits erwähnt dass das Suchmuster (/(gif|jpg|jpeg|bmp)+/) das ich beim preg_match_all verwendet habe nicht sonderlich genau ist.
 
Zurück