我正在使用php将文件目录输出到下拉列表中。
文件名和扩展名都在列表中输出,但我只想输出文件名。
我在选择文件之前使用'basename',但它仍然输出文件扩展名。
这是我到目前为止的代码
basename.php
<?php
foreach(glob(dirname(__FILE__) . '/policies/one/*') as $filename){
$filename = basename($filename);
echo "<option value='policies/one/" . $filename . "'>".$filename."</option>";
}
?>
希望有人可以提供帮助
欢呼声。
答案 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"