最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

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

时间:2014-06-09 16:40来源: 作者: 点击: 次
本教程提供了三款获取上传文件与图片类型的方法,方法也是很简单的前二种,是先把类型定义好,再用in_array判断,最后一步是利用了fopen再读取前二个字节,判断. 代码如下: //获得图片的格式,包

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

代码如下:

  1. //获得图片的格式,包括jpg,png,gif 
  2. function get_type($img_name)//获取图像文件类型 
  3. { 
  4.  if (preg_match("/.(jpg|jpeg|gif|png|bmp)$/i", $img_name, $matches)){ 
  5.   $type = strtolower($matches[1]); 
  6.  }else{ 
  7.   $type = "string"; 
  8.  } 
  9.  return $type; 
  10. } 
  11.  
  12. //判断上传文件类型 
  13. $allowedextensions = array("txt","csv","htm","html","xml",    
  14.     "css教程","doc","xls","rtf","ppt","pdf","swf","flv","avi",    
  15.     "wmv","mov","jpg","jpeg","gif","png");     
  16.     foreach ($_files as $file) {    
  17.     if ($file['tmp_name'] > '') {    
  18.       if (!in_array(end(explode(".",    
  19.             strtolower($file['name']))),    
  20.             $allowedextensions)) {    
  21.        die($file['name'].' is an invalid file type!<br/>'.    
  22.         '<a href="网页特效:history.go(-1);">'.    
  23.         '&lt;&lt go back</a>');    
  24.       }    
  25. }    
  26. }   
  27.  
  28. //另类的读取文件与图片类型 
  29.  
  30. function checktitle($filename) { 
  31. $file     = fopen($filename, "rb"); 
  32. $bin      = fread($file, 2); //只读2字节 
  33. fclose($file); 
  34. $strinfo  = @unpack("c2chars", $bin); 
  35. $typecode = intval($strinfo['chars1'].$strinfo['chars2']); 
  36. $filetype = ""; 
  37. switch ($typecode) 
  38. { 
  39.  case 7790: 
  40.  $filetype = 'exe'; 
  41.  break; 
  42.  case 7784: 
  43.  $filetype = 'midi'; 
  44.  break; 
  45.  case 8297: 
  46.  $filetype = 'rar'; 
  47.  break; 
  48.  case 255216: 
  49.  $filetype = 'jpg'; 
  50.  break; 
  51.  case 7173: 
  52.  $filetype = 'gif'; 
  53.  break; 
  54.  case 6677: 
  55.  $filetype = 'bmp'; 
  56.  break; 
  57.  case 13780: 
  58.  $filetype = 'png'; 
  59.  break; 
  60.  default: 
  61.  $filetype = 'unknown'.$typecode; 
  62. } 
  63. //fix 
  64. if ($strinfo['chars1']=='-1' && $strinfo['chars2']=='-40' ) { 
  65. return 'jpg'; 
  66. } 
  67. if ($strinfo['chars1']=='-119' && $strinfo['chars2']=='80' ) { 
  68. return 'png'; 
  69. } 
  70. return $filetype; 
  71. } 
  72. ?> 
(责任编辑:admin)
------分隔线----------------------------
栏目列表
推荐内容