2017-07-27 6 views
0

Ich spiele mit etwas Code herum und frage mich, ob beide benötigt werden?Wie validiere ich das Bild beim Upload?

Ich würde denken, wenn ich überprüft habe, dass es ein Bild ist, dann müsste ich nicht überprüfen, ob eine korrekte Erweiterung verwendet wird.

Es scheint überflüssig, aber ich sehe vielleicht nicht das größere Bild.

Ich werde Größe ändern und möglicherweise die Erweiterung ändern, auf diese Weise muss ich es nicht in der Datenbank speichern.

+1

Ich stimme dem zu, was Sie sagen. Die Erweiterung ist nicht immer korrekt. Testen, ob es tatsächlich ein Bild ist, wäre zuverlässiger. – Octopus

+2

Nun, wenn Sie das zweite Bit weglassen, und jemand ein TIFF hochlädt, wird es liegen und ihnen sagen, ein TIFF ist kein Bild; ( – WheatBeak

+0

@WheatBeak, ich habe gerade ein TIFF getestet und es kam als Bild zurück – harkly

Antwort

1

Es wird klar in PHP documentation erwähnt, nicht getimagesize für Bildvalidierung zu verwenden.

Vorsicht getimagesize erwartet den Dateinamen als gültige Imagedatei. Wenn eine Nicht-Image-Datei angegeben wird, wird sie möglicherweise fälschlicherweise als Image erkannt und die Funktion wird erfolgreich zurückgegeben, aber das Array enthält möglicherweise unsinnige Werte. Verwenden Sie getimagesize() nicht, um zu überprüfen, ob eine gegebene Datei ein gültiges Bild ist. Verwenden Sie stattdessen eine speziell entwickelte Lösung wie die Dateierweiterung .

So müssen Sie einige weitere Kontrollen in Bezug auf die MIME-Typ-Datei für weitere in diesem Szenario Graben ich in CodeIgnitor Code aussah. Gehen Sie zu this Link und schauen Sie sich die Funktion namens _file_mime_type hier erkennen sie Datei MIME-Typ und später stimmen sie mit zulässigen MIME-Dateitypen überein.

+0

Danke, ich werde das beheben: getimagesize – harkly