php 获取文件后缀名,并判断是否合法的函数

核心代码

/**
 * 获取文件后缀名,并判断是否合法
 *
 * @param string $file_name
 * @param array $allow_type
 * @return blob
 */
function get_file_suffix($file_name, $allow_type = array())
{
  $file_suffix = strtolower(array_pop(explode('.', $file_name)));
  if (empty($allow_type))
  {
    return $file_suffix;
  }
  else
  {
    if (in_array($file_suffix, $allow_type))
    {
      return true;
    }
    else
    {
      return false;
    }
  }
}

上面的对于php5.3以上的版本会报错Strict Standards: Only variables should be passed by reference in。所以我们小编换了如下方法

<?php
/**
 * 获取文件后缀名,并判断是否合法
 *
 * @param string $file_name
 * @param array $allow_type
 * @return blob
*/
function get_file_suffix($file_name, $allow_type = array())
{
  $fnarray=explode('.', $file_name);
	$file_suffix = strtolower(array_pop($fnarray));
  if (empty($allow_type))
  {
    return $file_suffix;
  }
  else
  {
    if (in_array($file_suffix, $allow_type))
    {
      return true;
    }
    else
    {
      return false;
    }
  }
}

$allow_wj="jpg,gif,png,jpeg";
$allow=explode(",",$allow_wj); 

if (get_file_suffix("sakjdfk1.jpg",$allow)){
echo "ok";
}else{
echo "no";
}

如此就解决了,希望大家以后多多支持我们。

(0)

相关推荐

  • php 获取文件后缀名,并判断是否合法的函数

    核心代码 /** * 获取文件后缀名,并判断是否合法 * * @param string $file_name * @param array $allow_type * @return blob */ function get_file_suffix($file_name, $allow_type = array()) { $file_suffix = strtolower(array_pop(explode('.', $file_name))); if (empty($allow_type))

  • 浅谈javascript如何获取文件后缀名

    在上传文件时,常常要对文件的类型即对文件的后缀名进行判断,用javascript可以很容易的做到这一点.用Javascript解析一个带绝对路径的文件名并得到后缀名的方法有很多种,这里列出一种,以供参考. 对于一个带绝对路径的文件名如:D:\Program Files\Notepad++\Notepad++.exe 首先为了避免转义反斜杠出问题,可以用正则表达式来将\或\\替换成#,如: D:#Program Files#Notepad++#Notepad++.exe 之后以'#'为分隔符,将字

  • php一行代码获取文件后缀名实例分析

    本文实例讲述了php一行代码获取文件后缀名的方法.分享给大家供大家参考.具体方法分析如下: php中一行代码获取文件后缀名的方法要结合很多的函数了,我们这个有点像asp中的函数了,下面来一起看看吧. 实例: 复制代码 代码如下: $filename  = 'D:/wamp/www/sparkphp/rar'; $rs =  strtolower(trim(substr(strrchr($filename, "."), 1))); 详解: strrchr()函数查找字符串在另一个字符串中

  • python获取文件后缀名及批量更新目录下文件后缀名的方法

    本文实例讲述了python获取文件后缀名及批量更新目录下文件后缀名的方法.分享给大家供大家参考.具体实现方法如下: 1. 获取文件后缀名: 复制代码 代码如下: #!/usr/bin/python import os dict = {} for d, fd, fl in os.walk('/home/ahda/Program/'):         for f in fl:                 sufix = os.path.splitext(f)[1][1:]           

  • PHP实现获取文件后缀名的几种常用方法

    本文实例讲述了PHP实现获取文件后缀名的几种常用方法.分享给大家供大家参考.具体如下: 方法1: function get_file_type($filename){ $type = substr($filename, strrpos($filename, ".")+1); return $type; } 方法2: function get_file_type($filename) { $type = pathinfo($filename); $type = strtolower($t

  • Node.js path模块,获取文件后缀名操作

    我就废话不多说了,大家还是直接看代码吧~ demo.js: //path模块 var path=require('path'); /*nodejs自带的模块*/ var extname=path.extname("123.html"); //获取文件的后缀名 console.log(extname); 补充知识:node 的path模块中 path.resolve()和path.join()的区别 一.path模块的引入. 直接引用.node中自带的模块 const path = re

  • PHP获取文件后缀名的三个函数

    选好一种记住,以后需要使用的时候就可以直接使用,或者来本站查看本文也是可以滴. 复制代码 代码如下: <?php //方法一: function extend_1($file_name) { $retval=""; $pt=strrpos($file_name, "."); if ($pt) $retval=substr($file_name, $pt+1, strlen($file_name) - $pt); return ($retval); } //方法

  • JS 获取文件后缀,判断文件类型(比如是否为图片格式)

    1.获取文件后缀 有时候我们需要通过文件名或者路径,得到该文件的后缀名(扩展名),可以通过如下方式进行截取: //文件路径 var filePath = "file://upload/jb51.png"; //获取最后一个.的位置 var index= filePath.lastIndexOf("."); //获取后缀 var ext = filePath.substr(index+1); //输出结果 console.log(ext); 效果图如下: 2.文件类型

  • php文件扩展名判断及获取文件扩展名的N种方法

    下面代码是php文件扩展名判断 <!DOCTYPE> <html> <head> <meta http-equiv="Content-type" content="text/html" charset="utf-8"> <title>check file</title> </head> <body> <b>文件扩展名验证</b>

  • js判断上传文件后缀名是否合法

    本文实例介绍了js判断上传文件后缀名是否合法的详细代码,分享给大家供大家参考,具体内容如下 效果图: 选择文件 选择1.jpg文件 上传成功合法 除图片文件格式以外,其他都是不合法的操作. 具体代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>判断文件上传是否合法</tit

随机推荐