如何删除文件扩展名以显示,但保留href的扩展名?
问题描述:
我显示文件夹中的所有文件,该部分工作正常。但是,每个链接都显示文件扩展名。我试图删除它,但似乎也删除了文件名。我需要显示没有扩展名的文件的名称,但使用链接的href
的扩展名的变量。如何删除文件扩展名以显示,但保留href的扩展名?
尝试:
<?php
$info = pathinfo($filename);
$name = $info['filename'];
$ext = $info['extension'];
$name = pathinfo($filename)['filename'];
$dir = opendir('folder/');
while ($read = readdir($dir))
{
if ($read!='.' && $read!='..')
{
echo '<li><a class="" href="folder/'.$read.'">'.$name.'</a></li>';
}
}
closedir($dir);
?>
任何帮助深表感谢。
答
更简单的方式来做到这一点使用PHP的SCANDIR
http://php.net/manual/en/function.scandir.php
$files = array_diff(scandir('folder/'), array('.', '..'));
foreach($files as $file){
$name = strstr($file, '.', TRUE);
echo '<li><a class="" href="folder/'.$file.'">'.$name.'</a></li>';
}
一个为什么要这么做?无论如何,文件名本身是非常不可靠和任意识别文件的。缩短并删除信息当然不会改善这个问题。从用户的角度来看,文件名无论如何都应该是无关紧要的,它是文件的_title_有意义。除此之外:请注意,可能有没有或有多个扩展名的文件。通常所说的“文件扩展名”实际上只是文件名的一部分,而这正是以某种方式注意到的。从技术角度来看,它没有特别的意义。 – arkascha
我不明白...你是否还想生成一个文件目录作为HTML输出? –