通过接收文件流来上传文件,请问如何准确判断文件后缀
这是网上看到的通过识别文件信息来区分
<?php
$data = file_get_contents('php://input');
$strInfo = @unpack("C2chars", substr($data,0,2));
$typeCode = intval($strInfo["chars1"].$strInfo["chars2"]);
$fileTypes = array(
7790 => "exe",
7784 => "midi",
8075 => "zip",
8297 => "rar",
225216 => "jpg",
7173 => "gif",
6677 => "bmp",
13780 => "png",
);
$fileType = isset($fileTypes[$typeCode]) ? $fileTypes[$typeCode] : "unknown";
echo "type : {$fileType} code : {$fileType}";
?>
pathinfo()
可以获取文件信息,如pathinfo("1.php")
你可以使用一个偷懒的做法,把流写入临时文件,再用上面提到的方法读取信息,再把临时文件删除
模拟php的正常上传,先存临时文件,读取使用后再删除
xlsx文件其实就是zip压缩包,这种不用文件流接收呢,或者前端把文件名传上来
前端传递文件名
我的判断是否为表格
github.com/mouyong/php-support/blo... 这两个函数能帮到你