我在论坛上看了但没找到我需要的东西。 我需要帮助从文件名中删除扩展名,并包含目录中的所有文件(php文件),并向您展示示例。
此代码工作
$name = 'file.php';
$fileName= pathinfo($name, PATHINFO_FILENAME );
echo "Name: {$fileName}";
Results:
Name: file
但如何使用文件夹
中包含的多个文件来获取此信息<?php
$dir = "/dir1/dir2/dir3/dir4/";
$phpfiles = glob($dir . "*.php");
foreach ($phpfiles as $phpfile){
echo '<li><a href="'.$phpfile.'">'.basename($phpfile,".php").'</a></li>';
}
output
1.php
2.php
3.php
4.php
-----------------
how to insert path info in this script so that all files are included without extensions.
?>
答案 0 :(得分:1)
使用pathinfo函数...... ??
<?php
$dir = "/dir1/dir2/dir3/dir4/";
$phpfiles = glob($dir . "*.php");
foreach ($phpfiles as $phpfile){
echo '<li><a href="'.$phpfile.'">'.pathinfo($phpfile, PATHINFO_FILENAME).'</a></li>';
}
答案 1 :(得分:0)
如果您只想显示文件名,可以使用@ zavg的建议(只需添加.
)。如果您想要实际修改数组以供以后使用,可以使用array_map。
$dir = "/dir1/dir2/dir3/dir4/";
$phpfiles = glob($dir . "*.php");
//using basename
$phpfiles=array_map(function($f){return basename($f, ".php");},$phpfiles);
//Or Using pathinfo
//$phpfiles=array_map(function($f){return pathinfo($f, PATHINFO_FILENAME );},$phpfiles);
foreach ($phpfiles as $phpfile){
echo '<li><a href="'.$dir.$phpfile.'">'.$phpfile.'</a></li>';
}