So ermitteln Sie in PHP, ob der Array-Inhalt ein Bild ist

PHPz
Freigeben: 2023-04-18 15:54:04
Original
649 Leute haben es durchsucht

Im Prozess der Website-Entwicklung müssen wir häufig überprüfen, ob die von Benutzern hochgeladenen Dateitypen den Anforderungen entsprechen, insbesondere um festzustellen, ob die Dateien im Array im Bildformat vorliegen. In PHP gibt es mehrere Möglichkeiten, festzustellen, ob der Inhalt eines Arrays ein Bild ist.

1. Bildtypbeurteilung verwenden

PHP verfügt über einen integrierten Datentyp namens Bild, der zum Verarbeiten von Bildern verwendet werden kann. Mithilfe des Bildtyps können wir feststellen, ob der Array-Inhalt im Bildformat vorliegt. Der Code lautet wie folgt:

$isImage = getimagesize($file['tmp_name']);

if($isImage === false) {
   echo "所选文件不是图片格式!";
} else {
   echo "所选文件是图片格式!";
}
Nach dem Login kopieren

getimagesize() Die Funktion kann die Informationen der angegebenen Datei abrufen, einschließlich Dateityp, Größe usw. Wenn die erhaltenen Informationen falsch sind, bedeutet dies, dass die ausgewählte Datei nicht im Bildformat vorliegt. getimagesize()函数可以获取指定文件的信息,包括文件类型、尺寸等等。当获取到的信息为false时,说明所选文件不是图片格式。

2.使用文件类型判断

在PHP中,每一种文件类型都有一个对应的MIME类型,用于标识文件类型。我们可以通过判断文件的MIME类型,来判断数组内容是否为图片格式。代码如下:

$allowedTypes = ['image/png', 'image/jpg', 'image/jpeg', 'image/gif'];
$fileType = mime_content_type($file['tmp_name']);

if(!in_array($fileType, $allowedTypes)) {
   echo "所选文件不是图片格式!";
} else {
   echo "所选文件是图片格式!";
}
Nach dem Login kopieren

首先,我们定义了一个允许的MIME类型数组,然后使用mime_content_type()函数获取文件的MIME类型,并判断其是否在允许的MIME类型数组中。

3.使用扩展名判断

我们也可以通过判断文件的扩展名来判断其是否为图片格式,但是这种方式并不可靠,因为文件的扩展名是可以轻易修改的。如果有安全要求,不建议使用该方法。代码如下:

$allowedExtensions = ['png', 'jpg', 'jpeg', 'gif'];
$extension = pathinfo($file['name'], PATHINFO_EXTENSION);

if(!in_array($extension, $allowedExtensions)) {
   echo "所选文件不是图片格式!";
} else {
   echo "所选文件是图片格式!";
}
Nach dem Login kopieren

首先,我们定义了一个允许的扩展名数组,然后使用pathinfo()

2. Dateitypbeurteilung verwenden

In PHP verfügt jeder Dateityp über einen entsprechenden MIME-Typ, der zur Identifizierung des Dateityps verwendet wird. Wir können feststellen, ob der Array-Inhalt im Bildformat vorliegt, indem wir den MIME-Typ der Datei bestimmen. Der Code lautet wie folgt: 🎜rrreee🎜Zuerst definieren wir ein Array zulässiger MIME-Typen und verwenden dann die Funktion mime_content_type(), um den MIME-Typ der Datei abzurufen und festzustellen, ob sie in der Datei enthalten ist Array zulässiger MIME-Typen. 🎜🎜3. Verwenden Sie die Erweiterung, um zu beurteilen🎜🎜Wir können auch anhand der Dateierweiterung beurteilen, ob es sich um ein Bildformat handelt. Diese Methode ist jedoch nicht zuverlässig, da die Dateierweiterung leicht geändert werden kann. Diese Methode wird nicht empfohlen, wenn Sicherheitsanforderungen bestehen. Der Code lautet wie folgt: 🎜rrreee🎜Zuerst definieren wir ein Array zulässiger Erweiterungen und verwenden dann die Funktion pathinfo(), um die Erweiterung der Datei abzurufen und festzustellen, ob sie sich im Array von befindet erlaubte Erweiterungen. 🎜🎜Zusammenfassend können wir drei Methoden verwenden, um festzustellen, ob der Array-Inhalt im Bildformat vorliegt: Bildtyp, Dateityp und Erweiterung. Unter diesen sind die Verwendung von Bildtypen und Dateitypen zuverlässige Methoden, die Verwendung von Erweiterungen ist jedoch nicht sicher genug. Wählen Sie einfach die geeignete Methode entsprechend den tatsächlichen Anforderungen. 🎜

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie in PHP, ob der Array-Inhalt ein Bild ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage