用户名:
密 码:

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

广州域名注册 金山域名注册 闵行域名注册 北京域名注册 徐汇域名注册 上海域名注册

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

本教程提供了三款获取上传文件与图片类型的方法,方法也是很简单的前二种,是先把类型定义好,再用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;
}

 

?>

域名频道资讯中心
.

  来源:互联网
阅读:
日期:2010-9-3
 
收藏此文 】 【 打印此文 】   
  • 上一篇:新网数码DNS疑出故障 部分域名暂时无法访问
  • 下一篇:js如何获取上传文件大小
  • TAG: php获取上传文件类型 获取文件后缀
    • 官方网址: dns110.com
    • CopyRight © 2010 域名频道 版权所有
    • 地址:上海市松江区新松江路1188弄37号 邮编:201620
    • 电话: 021-67820741 67820742 67820743 传真: 转分机805 值班电话: 021-67820743
    • 在线支持QQ: 219854  客户服务QQ:714658643  MSN:chenlh@dns110.com  Email: support@dns110.com
    • 沪ICP备06024974号