php判断文件是否为txt文件

可以使用pathinfo方法来通过后缀名进行判断文件类型。

php判断文件是否为txt文件

代码示例:(推荐学习:PHP视频教程)

/** * 获取文件后缀(如果文件名为11.11,11不是后缀,会默认11为后缀)* $file string 文件路径或者文件名*/function get_extension($file){return pathinfo($file, PATHINFO_EXTENSION);}

登录后复制

说明: pathinfo具体使用方法,可以查看php手册。但是该方法仅仅只能根据文件后缀来判断文件类型,如果html后缀的文件,被修改成.php的后缀之后,读取到的则是php类型文件。

$_FILES

立即学习“PHP免费学习笔记(深入)”;

如果是php上传文件,则可以用$_FILES[‘uploadfile’][‘type’]来获取文件类型,但是同样会存在和pathinfo同样的问题,该方法仅仅只能根据文件后缀来判断文件类型。

php Fileinfo 获取文件MIME类型(finfo_open)

<?php$finfo = finfo_open(FILEINFO_MIME); // 返回 mime 类型    $filename = '.Uploads.zip';    var_dump(finfo_file($finfo, $filename));    finfo_close($finfo);    die;

登录后复制

说明: 如果文件存在则返回文件类型,否则返回false。该方法需要php5.3.0+版本。可以根据返回的结果来判断是什么类型的文件。该方法即便是原文件被改过后缀,已然可以读到原文件类型。

读取文件头六个字节作为判断。

<?php// 官方示例function minimime($fname) {    $fh=fopen($fname,'rb');    if ($fh) {         $bytes6=fread($fh,6);        fclose($fh);         if ($bytes6===false) return false;        if (substr($bytes6,0,3)=="���") return 'image/jpeg';        if ($bytes6=="�PNG") return 'image/png';        if ($bytes6=="GIF87a" || $bytes6=="GIF89a") return 'image/gif';        return 'application/octet-stream';    }    return false;}// 将文件头4个字节转换成16进制判断function fileType($filename) {    // 读取文件的前4个字节,根据硬编码判断    $file = fopen ( $filename, "rb" );    $strFile = fread ( $file, 4 ); //只读文件头4字节    fclose ( $file );    $strInfo = @unpack ( "C4chars", $strFile );      //dechex(),把十进制转换为十六进制。      $code = dechex ( $strInfo ['chars1'] ) .               dechex ( $strInfo ['chars2'] ) .               dechex ( $strInfo ['chars3'] ) .       dechex ( $strInfo ['chars4'] );      $type = '';      switch ($code) //硬编码值查表      {        case "504b34" :              $type = 'application/zip; charset=binary';              break;        case "89504e47" :            $type = 'image/png; charset=binary';              break;         default :            $type = false;              break;    }    return $type;}

登录后复制

这个方法有缺陷,不同类型的文件,文件头4个字节可能会相同,并且部分文件类型表示文件类型的字符串,少于4个字节。可以考虑将方法三和方法四结合使用。

更多PHP相关技术文章,请访问PHP图文教程栏目进行学习!

以上就是php判断文件是否为txt文件的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2160670.html

(0)
上一篇 2025年2月25日 07:44:27
下一篇 2025年2月24日 17:17:17

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • wordpress需要会php吗

    wordpress是使用php语言开发的博客平台,用户可以在支持php和mysql数据库的服务器上架设属于自己的网站。也可以把 wordpress当作一个内容管理系统(cms)来使用。 WordPress是一款个人博客系统,并逐步演化成一款…

    2025年2月25日
    200
  • php哪个函数能取得字符串长度

    php获取字符串长度函数strlen和mb_strlencount() – 计算数组中的单元数目,或对象中的属性个数strlen — 获取字符串长度,一个汉字为3个字符mb_strlen() – 获取字符串的长度 &…

    2025年2月25日
    200
  • php常用扩展有哪些

    在此总结,开发中经常使用到的扩展,来进行日常PHP的开发工作 bcmath(精确数值处理)bz2calendarCorectypecurldatedomeregexiffileinfofilterftpgettexthashiconvigb…

    2025年2月25日
    200
  • php主要开发什么软件

    PHP 能做任何事。PHP 主要是用于服务端的脚本程序,因此可以用 PHP 来完成任何其它的 CGI 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收 Cookies。但 PHP 的功能远不局限于此。 PHP 脚本主要用于…

    2025年2月25日
    200
  • php rpc框架有哪些

      什么是rpc框架 ?  如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call) 那什么是 远程调用 ? 通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),local…

    2025年2月25日
    200
  • php二次开发框架有哪些

    php二次开发框架有哪些? PHP框架二次开发,指的是对开源的PHP框架进行一定的修改,定制所需的功能 二次开发的内容主要是对框架进行界面修改,功能增加删除,模块拓展,第三方接口接入等。 现在国内常用的框架有Yii , Thinkphp ,…

    2025年2月25日
    200
  • PHP并发场景的几种解决方案

    在秒杀,抢购等并发场景下,可能会出现超卖的现象,在PHP语言中并没有原生提供并发的解决方案,因此就需要借助其他方式来实现并发控制。 列出常见的解决方案有: 使用队列,额外起一个进程处理队列,并发请求都放到队列中,由额外进程串行处理,并发问题…

    2025年2月25日
    200
  • 微信小程序用php开发的可以吗

    说到微信小程序可能大部分只是一知半解,您是否清楚小程序是用什么来开发的? 首先我们先说说小程序是什么,和HTML5有什么区别。(推荐学习:PHP视频教程) 根据官方表述和流传出来的关于“小程序”的技术接口来看,通俗一点的说,“小程序”其实是…

    2025年2月25日
    200
  • php开发环境有哪些

    网站分为静态和动态两种,现在的动态网站开发技术有很多,php是比较流行的,我们今天就来学习一下如何在本地的电脑里面搭建一个开发环境,以便我们更好的编辑php代码,测试我们的程序 搭建PHP的环境方法有很多,主要分为独立安装和集成安装两种。(…

    2025年2月25日
    200
  • php微服务框架有哪些

    tars是基于名字服务使用tars协议的高性能rpc开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。 Tars是将腾讯内部使用的微服务架构TAF(Total Application …

    2025年2月25日
    200

发表回复

登录后才能评论