1

我查看了论坛,但没有找到我需要的东西。我需要帮助从文件名中删除扩展名,并包括目录中的所有文件(例如 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.
?>
4

2 回答 2

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>'; 
}
于 2014-05-22T09:19:53.583 回答
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>'; 
}
于 2014-05-22T09:35:46.717 回答