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实现线性表顺序存储的代码,需要的朋友可以参考下
    2012-02-02
  • 关于PHP转换超过2038年日期出错的问题解决

    关于PHP转换超过2038年日期出错的问题解决

    这篇文章主要给大家介绍了关于PHP转换超过2038年日期出错问题的解决方法,文中给出了详细的解决方法,通过示例代码让大家更容易理解和学习,需要的朋友们下面来一起看看吧。
    2017-06-06
  • PHP Array 数组详细介绍

    PHP Array 数组详细介绍

    这篇文章主要介绍了PHP Array数组详细介绍,PHP中的array实际上是一个有序映射。映射是一种把 values 关联到keys的类型,更多详情需要的小伙伴可以参考一下
    2022-09-09
  • PHP简单装饰器模式实现与用法示例

    PHP简单装饰器模式实现与用法示例

    这篇文章主要介绍了PHP简单装饰器模式实现与用法,结合具体实例形式分析了php装饰器模式的原理、实现与使用方法,需要的朋友可以参考下
    2017-06-06
  • php简单截取字符串代码示例

    php简单截取字符串代码示例

    这篇文章主要介绍了php简单截取字符串的方法,可实现截取140个字符的功能,并针对中文字符进行判定处理,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】

    PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】

    这篇文章主要介绍了PHP开发之归档格式phar文件概念与用法,结合实例形式较为详细的分析了归档格式phar文件创建,使用,解包还原提取等概念及操作实现方法,需要的朋友可以参考下
    2017-11-11
  • PHP获取url的函数代码

    PHP获取url的函数代码

    PHP获取url的html代码,需要的朋友可以参考下。
    2011-08-08
  • FirePHP 推荐一款PHP调试工具

    FirePHP 推荐一款PHP调试工具

    PHP调试有很多中方法。今天给大家推荐的是 FirePHP 这个工具,是基于firefox的一个组件。Firephp组件安装地址。使用之前需要先安装下这个组件。完了还需要down一个FirePHP的包。
    2011-04-04
  • php通过记录IP来防止表单重复提交方法分析

    php通过记录IP来防止表单重复提交方法分析

    这篇文章主要介绍了php通过记录IP来防止表单重复提交的方法,对比分析了通过记录IP防止重复提交与通过数据库防止重复提交的方法,供大家灵活选择与使用,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • PHP 验证码不显示只有一个小红叉的解决方法

    PHP 验证码不显示只有一个小红叉的解决方法

    做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,经搜索发现个不错的方法,有类似情况的朋友可以参考下
    2013-09-09

最新评论