Wie bekomme ich den MIME-Typ eines Bildes mit file_get_contents in PHP?

8

Ich muss den MIME-Typ eines Bildes bekommen, aber ich habe nur den Körper des Bildes, das ich mit file_get_contents habe. Gibt es eine Möglichkeit, den MIME-Typ zu erhalten?

    
Zwen2012 11.08.2014, 06:35
quelle

3 Antworten

21

Ja, Sie können es so bekommen.

%Vor%     
Ram Sharma 11.08.2014, 06:40
quelle
4

Sei sehr vorsichtig, was du tust, indem du nur den Mime Type kontrollierst! Wenn Sie wirklich sicher sein wollen, dass ein Bild tatsächlich ein Bild ist, öffnen Sie es am besten mit einer Bildbearbeitungsbibliothek und schreiben Sie es mit der Bibliothek. Dies schlägt sowohl fehl, wenn das Image tatsächlich schädlicher Code ist, als auch, dass Sie tatsächlich eine Image-Datei auf den Datenträger schreiben. Beispielsweise können Sie MIME leicht dazu verleiten, zu denken, dass bösartiger Code GIF ist.

Um Ihre Fragen direkter zu beantworten, verwenden Sie das FileInfo PECL-Modul .

    
Florin Asăvoaie 11.08.2014 06:49
quelle
0

Wenn Sie eine Datei mit HTTP herunterladen, raten Sie nicht (alias automatisch erkennen) den MIME-Typ. Selbst wenn Sie die Datei mit file_get_contents heruntergeladen haben, können Sie weiterhin auf HTTP-Header zugreifen.

Verwenden Sie $http_response_header , um Header des letzten file_get_contents Calls abzurufen ( oder einen Anruf mit http:// wrapper ).

%Vor%     
Martin Prikryl 01.03.2018 18:10
quelle