本人刚开始学习PHP,碰到下面的问题:
$result = getfile(); //getfile为自定义函数,该函数返回带扩展名的文件名
$filename = $result;
我只想获得 文件名不需要文件后缀名.
用什么方法可以让变量 $filename ,只获得文件名.

解决方案 »

  1.   

    <?php
    function getFileName( $filepath ){
        $fext = array_pop(explode('.', $filepath));
        $fname = basename($filepath, '.'.$fext);
        return $fname;
    }
    ?>
      

  2.   

    楼上的不错,我也来一个完整版的
    <?php
    function getFileName( $filepath ){ //截取的函数,也可以楼上的大哥的
        $fext = explode('.', $filepath);
        $fname =str_replace(".".$fext[1],"",$filepath);
        return $fname;
    }$result = getfile(); //getfile为自定义函数,该函数返回带扩展名的文件名
    $filename = getFileName($result);
    echo $filename;
    ?>
      

  3.   


    <?php
    $file = '/testweb/test.txt';
    echo basename($file, '.' . pathinfo($file, PATHINFO_EXTENSION));
      

  4.   

    pathinfo($path)----->array(['dirname'],['basename'],['extension'],['filename'])
    or
    pathinfo($path,PATHINFO_FILENAME)
      

  5.   

    http://www.wapm.cn/phpdoc/zh/function.pathinfo.html<?php
    $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说明:
    mixed pathinfo ( string $path [, int $options ] )
    pathinfo() 返回一个关联数组包含有 path 的信息。包括以下的数组单元:dirname,basename 和 extension。 可以通过参数 options 指定要返回哪些单元。它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION。默认是返回全部的单元。如果不是要求取得所有单元,则本函数返回字符串。
      

  6.   

    自定义方法
    $file="function.pathinfo.html";
    echo substr($file,0,strrpos($file,'.'));
      

  7.   

    自定义方法
    $file="function.pathinfo.html";
    echo substr($file,0,strrpos($file,'.'));