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

 更新时间:2017年08月23日 18:30:55   投稿:mdxy-dxy  
有时候我们后台需要设置用户只能上传指定后缀名的文件,那么就可以使用下面的代码了

核心代码

/**
 * 获取文件后缀名,并判断是否合法
 *
 * @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";
}

如此就解决了,希望大家以后多多支持脚本之家。

相关文章

  • PHP实现微信退款的方法示例

    PHP实现微信退款的方法示例

    这篇文章主要介绍了PHP实现微信退款的方法,结合实例形式分析了php微信退款功能操作类与相关使用技巧,需要的朋友可以参考下
    2019-03-03
  • php一个解析字符串排列数组的方法

    php一个解析字符串排列数组的方法

    这篇文章主要介绍了php一个解析字符串排列数组的方法,可实现字符串的拆分与排列功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-05-05
  • php压缩文件夹最新版

    php压缩文件夹最新版

    这篇文章主要为大家详细介绍了php压缩文件夹的最新版代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • php多用户读写文件冲突的解决办法

    php多用户读写文件冲突的解决办法

    解决多调用同时写一个文件时我们会使用flock来解决些问题,这样同一时间只有一个用户可以写文件,同时其它用户进行等待队列了,下面我来介绍一下flock解决多用户读写文件冲空问题
    2013-11-11
  • PHP+JS+rsa数据加密传输实现代码

    PHP+JS+rsa数据加密传输实现代码

    PHP+JS+rsa数据加密传输实现代码,需要的朋友可以参考下。
    2011-03-03
  • PHP Reflection API详解

    PHP Reflection API详解

    这篇文章主要介绍了PHP Reflection API详解,本文讲解了Reflection类、ReflectionException类、ReflectionFunction类、ReflectionParameter类、ReflectionClass类、ReflectionMethod类等内容,需要的朋友可以参考下
    2015-05-05
  • PHP分页显示制作详细讲解

    PHP分页显示制作详细讲解

    所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示,这里需要两个初始的参数
    2008-11-11
  • php约瑟夫问题解决关于处死犯人的算法

    php约瑟夫问题解决关于处死犯人的算法

    这篇文章主要介绍了php约瑟夫问题解决关于处死犯人的算法,实例分析了php关于约瑟夫问题的实现与应用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php你的验证码安全码?

    php你的验证码安全码?

    php你的验证码安全码?...
    2007-01-01
  • PHP使用正则表达式获取微博中的话题和对象名

    PHP使用正则表达式获取微博中的话题和对象名

    这篇文章主要介绍了PHP使用正则表达式获取微博中的话题和对象名,涉及php正则匹配与字符串操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论