从php中输出的文件名中删除文件扩展名

时间:2015-11-10 14:29:03

标签: php directory echo

我正在使用php将文件目录输出到下拉列表中。

文件名和扩展名都在列表中输出,但我只想输出文件名。

我在选择文件之前使用'basename',但它仍然输出文件扩展名。

这是我到目前为止的代码

basename.php

  <?php 
       foreach(glob(dirname(__FILE__) . '/policies/one/*') as $filename){
       $filename = basename($filename);
       echo "<option value='policies/one/" . $filename . "'>".$filename."</option>";
    }
?>

希望有人可以提供帮助

欢呼声。

4 个答案:

答案 0 :(得分:2)

您可以使用pathinfo

  <?php 
       foreach(glob(dirname(__FILE__) . '/policies/one/*') as $filename){
       $filename2 = pathinfo($filename, PATHINFO_FILENAME);
       echo "<option value='policies/one/" . $filename . "'>".$filename2."</option>";
    }
?>

答案 1 :(得分:1)

这可用于任何类型的文件扩展名。

<?php 
   foreach(glob(dirname(__FILE__) . '/policies/one/*') as $filename){
   $filename = basename($filename);
   $filename2 = substr($filename,0,strrpos($filename,".")); //To store the filename upto the last dot(.)
   echo "<option value='policies/one/" . $filename . "'>".$filename2."</option>";
}
?>

答案 2 :(得分:0)

<?php 
foreach(glob(dirname(__FILE__) . '/policies/one/*') as $filename){
    $filename1 = basename($filename);
    $filename=str_replace(".php","",$filename1)
    echo "<option value='policies/one/" . $filename1 . "'>".$filename."</option>";
}
?>

答案 3 :(得分:0)

你必须事先知道要删除它的扩展名。

PHP手册中的示例

$path = "/home/httpd/html/index.php";
$file = basename($path);         // $file is set to "index.php"
$file = basename($path, ".php"); // $file is set to "index"