日期:2014-05-17 浏览次数:20609 次
function ftype($filename){
$file = fopen($filename, "rb");
$bin = fread($file, 2); //只读2字节
fclose($file);
$strInfo = @unpack("C2chars", $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$fileType = '';
switch($typeCode){
case 7790:
$fileType = 'exe';
break;
case 7784:
$fileType = 'midi';
break;
case 8297:
$fileType = 'rar';
break;
case 255216:
$fileType = 'jpg';
break;
case 7173:
$fileType = 'gif';
break;
case 6677:
$fileType = 'bmp';
break;
case 13780:
$fileType = 'png';
break;
default:
$fileType = 'unknown';
}
return $fileType;
}
------解决方案--------------------
我认为8楼得方法已经尽最大程度判定了,按照楼主的意思就是上传的文件如何判定其内容是不是csv格式的(不相信扩展名),那就只能获取文件里面内容,并根据里面内容的形式判定是不是csv文件,但是这种办法是要在后台实现的,也就是说此时文件已经上传了,上传了再判定就没有什么用了。所以,个人认为,不上传,还要判断内容形式,没什么好的解决办法。
------解决方案--------------------