


Zusammenfassung der Methoden zur Verwendung von PHP, um festzustellen, ob es sich bei einer Datei um ein Bild handelt
Um festzustellen, ob es sich bei einer Datei um ein Bild handelt, wurden mehrere Methoden gefunden, indem nach relevanten Informationen gesucht wurde, einschließlich der Verwendung der Funktion getimagesize zum Abrufen von Bildinformationen und der anschließenden Beurteilung oder dem Lesen der ersten 2 Bytes des Bildes. Werfen wir einen Blick auf die ausführliche Einführung weiter unten.
Vorwort
Wenn wir im Webdesign ein Bild benötigen, erhalten wir normalerweise den Dateinamen eines Bildes. Es ist nicht möglich, anhand des Dateinamens zu erkennen, ob es sich bei der Datei um eine Bilddatei handelt. Manche Leute denken vielleicht, dass sie anhand des Suffixnamens urteilen können. Vergessen Sie nicht, dass der Dateisuffixname nach Belieben geändert werden kann. Darüber hinaus werden Dateiformate unter Linux-Systemen nicht durch Suffixe unterschieden. Wenn Sie naiv glauben, dass Sie Bilder anhand von Suffixnamen unterscheiden können, wissen Sie beim Auftreten eines Fehlers möglicherweise nicht einmal, wo der Fehler liegt. Wenn beispielsweise eine nervige Person eine Textdatei in „background.jpg“ ändert und sie Ihnen zur Verwendung überlässt, denken Sie möglicherweise einfach, dass das Bild beschädigt ist, erwarten aber niemals, dass es sich nur um eine Textdatei handelt.
Um unnötige Probleme zu vermeiden, sollten Sie beim Erstellen eines Bildes richtig beurteilen, ob es sich bei der Datei tatsächlich um eine Bilddatei handelt. Drei Beurteilungsmethoden sind hier zusammengefasst. Freunde in Not können gemeinsam einen Blick darauf werfen.
Methode 1
Verwenden Sie die Funktion getimagesize, um Bildinformationen abzurufen, und treffen Sie dann eine Beurteilung:
<?php # Script -- isimg.php /* Author @ Huoty * Date @ 2015-11-24 16:59:26 * Brief @ */ function isImage($filename) { $types = '.gif|.jpeg|.png|.bmp'; //定义检查的图片类型 if(file_exists($filename)) { if (($info = @getimagesize($filename)) return 0; $ext = image_type_to_extension($info['2']); return stripos($types,$ext); } else { return false; } } if(isImage('isimg.txt')!==false) { echo isImage('1.jpg'); echo '是图片'; } else { echo '不是图片'; } ?>
Methode 2
Lesen Sie die ersten 2 Bytes des Bildes und bestimmen Sie dann, ob es sich um ein Bild handelt:
<?php # Script -- isimg2.php /* Author @ Huoty * Date @ 2015-11-25 16:42:38 * Brief @ */ //判断上传的是不是图片 function isImg($fileName) { $file = fopen($fileName, "rb"); $bin = fread($file, 2); // 只读2字节 fclose($file); $strInfo = @unpack("C2chars", $bin); $typeCode = intval($strInfo['chars1'].$strInfo['chars2']); $fileType = ''; if($typeCode == 255216 /*jpg*/ || $typeCode == 7173 /*gif*/ || $typeCode == 13780 /*png*/) { return $typeCode; } else { // echo '"仅允许上传jpg/jpeg/gif/png格式的图片!'; return false; } } if (isImg("1.jpg")) { echo "是图片"; } else { echo "不是图片"; } ?>
Methode 3
Die letzte Methode ist die Verwendung der Funktion exif_imagetype, mit der der Typ eines Bildes bestimmt wird. Diese Methode ist einfacher. Lesen Sie die ersten Bytes eines Bildes und überprüfen Sie seine Signatur. Gibt eine entsprechende Konstante zurück, wenn eine passende Signatur gefunden wird, andernfalls wird FALSE zurückgegeben. Der Rückgabewert ist derselbe wie Index 2 im von getimagesize() zurückgegebenen Array, diese Funktion ist jedoch viel schneller.
Die Rückgabewertkonstante dieser Funktion ist wie folgt definiert:
1 IMAGETYPE_GIF 2 IMAGETYPE_JPEG 3 IMAGETYPE_PNG 4 IMAGETYPE_SWF 5 IMAGETYPE_PSD 6 IMAGETYPE_BMP 7 IMAGETYPE_TIFF_II(Intel 字节顺序) 8 IMAGETYPE_TIFF_MM(Motorola 字节顺序) 9 IMAGETYPE_JPC 10 IMAGETYPE_JP2 11 IMAGETYPE_JPX 12 IMAGETYPE_JB2 13 IMAGETYPE_SWC 14 IMAGETYPE_IFF 15 IMAGETYPE_WBMP 16 IMAGETYPE_XBM
<?php # Script -- isimg3.php /* Author @ Huoty * Date @ 2015-11-25 16:53:04 * Brief @ */ $mimetype = exif_imagetype("1.jpg"); if ($mimetype == IMAGETYPE_GIF || $mimetype == IMAGETYPE_JPEG || $mimetype == IMAGETYPE_PNG || $mimetype == IMAGETYPE_BMP) { echo "是图片"; } ?>
Zusammenfassung
Oben geht es darum, dass PHP beurteilt, ob Eine Datei ist ein Bild. Das ist alles. Ich hoffe, dass der Inhalt dieses Artikels für alle beim Erlernen oder Verwenden von PHP hilfreich sein kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet
