<?php /** * 获取文件类型 * * @param string $file 文件路径 * @return string|bool 文件类型,如果文件不存在或类型不明则返回FALSE */ function get_file_type($file) { $hash = array( 6532 => 'txt', 6677 => 'bmp', 7173 => 'gif', 7784 => 'midi', 7790 => 'exe', 8075 => 'docx', // xlsx、pptx、zip的代码也是这个 8297 => 'rar', 13780 => 'png', 55122 => '7z', 208207 => 'doc', // xls、ppt的代码也是这个 255216 => 'jpg', ); if (!is_file($file)) return FALSE; $fopen = fopen($file, 'rb'); $fread = fread($fopen, 2); // 读取文件的前两个字节 fclose($fopen); $unpack = unpack('C2chars', $fread); // 从二进制字符串对数据进行解包 $code = intval($unpack['chars1'] . $unpack['chars2']); return isset($hash[$code]) ? $hash[$code] : FALSE; }
Copyright © 2024 码农人生. All Rights Reserved