如果有一个文件名叫做:XXXX.XXXX.XXXX.XXXXX.pdf
此时,我怎么用php正则表达来获取文件名和扩展名,请高手指点!

解决方案 »

  1.   

    其中文件名:XXXX.XXXX.XXXX.XXXXX
    扩展名:pdf
      

  2.   

    不用正则explot下检查数组有4个就ok
      

  3.   

    你确定是 pdf 格式的文件而不是其他的?如果是 ***.***.***.***.pdf,取到 ***.***.***.*** 就比较简单了,$rstr = ereg_replace(".pdf$","","abc.pdf.abc.xxx.pdf");要是 ***.***.***.***.*** 额,我的正则没学到家哈
      

  4.   

    额,经过测试$str = "aaa.pdf.ccc.ddd.aacad";
    $re = "\.([_a-zA-Z])*$";
    $rstr = ereg_replace($re,"",$str);
    echo $rstr."<br />";
    echo ereg_replace($rstr,"",$str);这一个可以达到你的要求吧,自己测试下吧。
    没有以数字作为后缀的文件吧。。
      

  5.   


    preg_match('/(?<=\.)\w*?$/',$str,$suffix); //取扩展名,$suffix[0]
    $fileName=preg_replace('/\.\w*?$/','',$str); //取文件名,$fileName这样的取文件名最好不用正则,基本的字符串处理函数或者文件函数都能实现
      

  6.   

    <code>
    <?php
    $str="XXXX.XXXX.pdf.XXXX.XXXXX.pdf ";
    $old_arr=explode(".",$str);
    $n=count($old_arr);
    $file_ext=$old_arr[$n-1];//获得后缀
    echo $file_ext;//输出后缀
    echo "<br>";
    $file_ext='.'.$file_ext;
    $file_name=explode($file_ext,$str);
    print_r ($file_name[0]);//输出文件名
    ?>
    </code>
    我不太会正则,只会用函数,这个一般可以实现任何后缀名的文件名查找吧
      

  7.   

    [ code=PHP]
      *******
    [ /code]
    这样子的吧。 去掉空格。
      

  8.   

    我写了个函数解决这个文件名字和扩展名分离。
    http://www.daleofmaple.com/?p=91
      

  9.   

    请楼主读手册。array pathinfo ( string path)pathinfo() 返回一个结合数组包含有 path 的信息。包括以下的数组单元:dirname,basename 和 extension。 例子 1. pathinfo() 例子$path_parts = pathinfo("/www/htdocs/index.html");
    echo $path_parts["dirname"] . "\n";
    echo $path_parts["basename"] . "\n";
    echo $path_parts["extension"] . "\n";
    将输出: /www/htdocs
    index.html
    html要是非要pdf 后缀的,就多判断一道。
     
     
      

  10.   

     北京五极星信息系统技术有限公司现招聘5名PHP程序员。
    职位要求:
    1.熟悉PHP语言,能自己解决实际问题。
    2.能书写常用的SQL语句。
    3.熟悉HTML/Javascript/等WEB技术
    4.至少有一年以上的PHP工作经验
    5.工作积极主动,比较踏实,责任心强。符合以下条件者优先:
    在linux环境下能简单操作和配置一些常用服务。
    对cakephp或者symfony框架有丰富的开发经验(不做必须要求);工作地点:北京海淀区知春路紫金数码3#0811
    薪水待遇:面议
    联系人:徐小姐
    邮箱:[email protected]
    公司网址:http://www.fp-star.com
    公司简介:  北京五极星信息系统技术有限公司成立于2005年7月。是一家综合软件产品服务提供商。公司位于中关村知春路紫金数码园,是拥有多个具有自主知识产权产品的高科技企业。
    除去自主软件产品研发以外,公司同时还提供对日软件开发服务。经过多年的积累,目前公司拥有一批优秀的软件工程师,能为客户提供从基本业务分析一直到系统详细设计、开发、测试、售后服务等一系列的优质服务。
      

  11.   

    $ext=end(explode('.',$filename));
    $filename_without_ext=substr($filename,0,-strlen($ext));
      

  12.   

    把名字用切开explode切开,取数组最后一个为扩展名,然后再把前面的拼成文件名称,不就行了!
      

  13.   


    $pos = strrpos($filename,".");
    $ext = substr($filename,$pos+1);
    $name = substr($filename,0,$pos);
      

  14.   

    $pos = strrpos($filename,".");
    $ext = substr($filename,$pos+1);
    $name = substr($filename,0,$pos); 
      

  15.   

    substr($str, -strpos(strrev($str), '.'))
      

  16.   

    substr($str, -strpos(strrev($str), '.'))