加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php获取上传文件类别 获取文件后缀

发布时间:2023-06-07 12:58:53 所属栏目:PHP教程 来源:
导读:本教程提供了三款获取上传文件与图片类型的方法,方法也是很简单的前二种,是先把类型定义好,再用in_array判断,最后一步是利用了fopen再读取前二个字节,判断.代码如下://获得图片的格式,包括jpg,png,gif function get

本教程提供了三款获取上传文件与图片类型的方法,方法也是很简单的前二种,是先把类型定义好,再用in_array判断,最后一步是利用了fopen再读取前二个字节,判断.

代码如下:

//获得图片的格式,包括jpg,png,gif 

function get_type($img_name)//获取图像文件类型 

 if (preg_match("/.(jpg|jpeg|gif|png|bmp)$/i", $img_name, $matches)){ 

  $type = strtolower($matches[1]); 

 }else{ 

  $type = "string"; 

 } 

 return $type; 

//判断上传文件类型 

$allowedextensions = array("txt","csv","htm","html","xml",    

    "css教程","doc","xls","rtf","ppt","pdf","swf","flv","avi",    

    "wmv","mov","jpg","jpeg","gif","png");     

    foreach ($_files as $file) {    

    if ($file['tmp_name'] > '') {    

      if (!in_array(end(explode(".",    

            strtolower($file['name']))),    

            $allowedextensions)) {    

       die($file['name'].' is an invalid file type!<br/>'.    

        '<a href="网页特效:history.go(-1);">'.    

        '&lt;&lt go back</a>');    

      }    

}    

}   

//另类的读取文件与图片类型 

function checktitle($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'.$typecode; 

//fix 

if ($strinfo['chars1']=='-1' && $strinfo['chars2']=='-40' ) { 

return 'jpg'; 

if ($strinfo['chars1']=='-119' && $strinfo['chars2']=='80' ) { 

return 'png'; 

return $filetype; 

?> 

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!