Heim  >  Artikel  >  Backend-Entwicklung  >  So bestimmen Sie den Dateityp in PHP genau, ohne die Erweiterung zu verwenden

So bestimmen Sie den Dateityp in PHP genau, ohne die Erweiterung zu verwenden

墨辰丷
墨辰丷Original
2018-05-23 17:18:311568Durchsuche

In diesem Artikel wird hauptsächlich die Methode für PHP zur genauen Bestimmung des Dateityps ohne Verwendung der Erweiterung vorgestellt. Dabei handelt es sich um die Methode finfo_file in PHP und die damit verbundenen Betriebsfähigkeiten des Binärstreams für Dateitypen

In diesem Artikel wird anhand eines Beispiels beschrieben, wie PHP den Dateityp genau bestimmen kann, ohne die Erweiterung zu verwenden. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Die erste Methode

Über PHP

finfo_file()

$handle=finfo_open(FILEINFO_MIME_TYPE);//This function opens a magic database and returns its resource. 
$fileInfo=finfo_file($handle,'./test.txt');// Return information about a file
finfo_close($handle);
print_r($fileInfo);
echo '==========="\n"';

Außerdem

finfo_buffer: Informationen über einen String-Puffer zurückgeben
finfo_close: Dateiinfo-Ressource schließen
mime_content_type:MIME-Inhaltstyp für eine Datei erkennen (veraltet)

Die zweite Methode

Den Dateiinhalt über den Binärstream abrufen

$fp=fopen('test.txt','r')///实际是image/png
$bin = fread($fp, 2); //只读2字节
fclose($fp);
$str_info = @unpack(“C2chars”, $bin);//Unpack data from binary string
$type_code = intval($str_info['chars1'].$str_info['chars2']);// Get the integer value of a variable
$file_type = ”;
switch ($type_code) {
case 7790:
$file_type = 'exe';
break;
case 7784:
$file_type = 'midi';
break;
case 8075:
$file_type = 'zip';
break;
case 8297:
$file_type = 'rar';
break;
case 255216:
$file_type = 'jpg';
break;
case 7173:
$file_type = 'gif';
break;
case 6677:
$file_type = 'bmp';
break;
case 13780:
$file_type = 'png';
break;
default:
$file_type = 'unknown';
break;
}

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.


Verwandte Empfehlungen:

PHP Analyse von Tipps zur Verwendung von Dateisperren, Mutex-Sperren und Lese-/Schreibsperren in Programmen _php-Fähigkeiten

PHPEine Zusammenfassung verschiedener Möglichkeiten, Programmparallelität in der Programmierung_php-Fähigkeiten auszuprobieren

Verwenden der AdminLTE-Vorlage im Laravel-Framework von PHPzum Schreiben der Website-Backend-Schnittstelle_php-Tipps

Das obige ist der detaillierte Inhalt vonSo bestimmen Sie den Dateityp in PHP genau, ohne die Erweiterung zu verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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