我有这个代码,它取名目录中的文件名,然后创建这些文件的链接。但是,链接中的文本末尾有文件扩展名。我想删除它,但同时保持文件的正确链接,即HTML链接需要扩展名保留在它上面 - 如下所示:
<a href="/documents/other/file.pdf">File</a>
所以这是我的剧本:
$linkdir="documents/other";
$dir=opendir("documents/other");
$files=array();
while (($file=readdir($dir)) !== false)
{
if ($file != "." and $file != ".." and $file != "index.php")
{
array_push($files, $file);
}
}
natcasesort($files);
$files=array_reverse($files);
foreach ($files as $file)
print "<li><a href='/$linkdir/$file' rel='external'>$file</a></li>";
以下是我需要集成以删除文件扩展名的代码:
$name = substr($file, 0, strrpos($file, '.'));
对此的任何帮助将不胜感激。
答案 0 :(得分:2)
你能说你想要这个吗?
foreach ($files as $file){
$name = substr($file, 0, strrpos($file, '.'));
print "<li><a href='/$linkdir/$file' rel='external'>$name</a></li>";
}
我在你的帖子中找不到任何其他问题:)
答案 1 :(得分:1)
使用pathinfo()
是一个更强大的解决方案,以防某些文件的名称包含更多点(例如someclass.inc.php
):
$parts = pathinfo($file);
$name = $parts['basename'];