zoukankan      html  css  js  c++  java
  • 【技术宅3】截取文件和url扩展名的N种方法

    //截取文件扩展名的N种方法

           //第1种

           //strrchr() 函数查找字符在指定字符串中最后一次出现的位置,如果成功,则返回其后面的字符串

           //返回带有点的扩展名

           function get_extension($file){

                  return strrchr($file, '.');

           }

           echo get_extension("d.sdf.jpeg"); 

     

           //第2种

           //strchr() 函数查找字符在指定字符串中第一次出现的位置,如果成功,则返回其后面的字符串

           //利用回调函数反复去掉所以的点.

           //返回不带点的扩展名

           function get_extension($file){      

                  $res=trim(strchr($file,'.'),'.');

                  if(strchr($res,'.')){

                         $res=get_extension($res);//利用回调函数反复去掉所以的点.

                  }

                  return $res;

            }

           $file='fef.fadsf.fadsf.d.sdf.jpeg';

           print_r( get_extension($file, '.'));

          

        //用while循环

           //strstr和strchr是同一个函数      

           $strstr = "fds.fdsaf.fdsa/fsda.ees.see.jpg";

           while($strstr = strstr($strstr, ".")) {

                  $strstr = substr($strstr, 1);

                  if(false === strpos($strstr, ".")) {

                         break;

                  }

           }

           var_dump($strstr);

      

           //第3种

           //查找字符串在另一字符串中最后出现的位置(不区分大小写),返回位置数字;strrpos对大小写敏感

           //返回带有点的扩展名

            function get_extension($file){

                  $begin=strripos($file, '.');

                  return substr($file,$begin);

            }

           $file='d.sdf.jpeg';

           echo get_extension($file, '.');

     

           //第4种

           //利用explode把文件名分割成数组,取数组中最后一个值即为文件的扩展名

           //返回不带点的扩展名

            function get_extension($file){

                   return end(explode('.', $file));

                    //另一种处理方式 return array_pop(explode('.', $path));

            }

           $file='d.sdf.jpeg';

           echo get_extension($file, '.');

      

           //第5种

           //pathinfo() 函数以数组的形式返回文件路径的信息。数组元素:[dirname]、[basename]、[extension]

            function get_extension($file){

                   $info = pathinfo($file);

                   return $info['extension'];           

                   //另一种处理方式 return pathinfo($file, PATHINFO_EXTENSION);

           }

           $file='d.sdf.jpeg';

           echo get_extension($file, '.');

          

           //第6种

           //正则匹配

           //返回不带点的扩展名

           $path = "fds/ees.see.jpg";

           preg_match("/.+.([^.]+)/", $path,$array);

           print_r($array[1]);

          

           //第7种

           //正则匹配

           //返回不带点的扩展名

           $path = "fds/ees.see.jpg";

           echo (preg_replace('/.*.(.*[^.].*)*/iU','\1',$path));

     

           //第8种

           //strtok 函数:把字符串分割为更小的字符串 

           //返回不带点的扩展名

           $path = "fds/ees.see.jpg";

           $strtok = strtok($path, ".");

           while($strtok !== false){

              $return = $strtok;

              $strtok = strtok('.');

           }

           echo($return);

     

    //获取url扩展名

           //第1种

           //返回不带点的扩展名

           function getExt($url){

                  $path=parse_url($url);

                  $str=explode('.',$path['path']);

                  return $str[1];

           }

           echo getExt('http://tools.jb51.net/abc/de/fg.php?id=1'); //php

          

           //第2种

           function retrieve($url) {

                  preg_match('//([^/]+.[a-z]+)[^/]*$/',$url,$match); //$match=Array ( [0] => /fg.php?id=1 [1] => fg.php )

                  return strrchr($match[1], '.'); //这里的可以套用截取文件扩展名的1、2、3、4、5、8种方法

           }

           print_r( retrieve('http://tools.jb51.net/abc/de/fg.php?id=1')); //.php

     

           //第3种

           //返回不带点的扩展名

           function getExt($url){

                  $end=end(explode('/',$url));

                  if(stripos($end,'?')){//有参数时

                         $end=substr($end,0,stripos($end,'?'));

                  }

                  $str=explode('.',$end);

                  return $str[1];

           }

     

    我发现了一个奇怪的现象,就是经常赞我的人,特别是支持我的人,都在不久后做成了如下事情:1、恋爱成功了;2、生意谈成了;3、事业有成了;4、升官发财了;5、心情舒畅了;6、家庭和睦了;7、身体健康了;8、万事如意了
  • 相关阅读:
    判断
    数的读写
    单词长度
    c语言字符串大小写字母转换
    URL超长问题
    使用Loadrunner录制手机端http请求
    NoSql 数据库理解
    .NET, ASP.NET, ADO.NET, C# 区别
    Browser 对象
    装箱与拆箱
  • 原文地址:https://www.cnblogs.com/zhuyibo/p/3984888.html
Copyright © 2011-2022 走看看