我正在尝试创建一个Intranet页面,该页面在UNC路径中查找所有pdf文档,并将它们作为在新窗口中打开的超链接返回到列表中。我几乎在那里以下代码显示FULL UNC路径 - 我的问题如何只显示文件名(最好也没有.pdf扩展名)。我已尝试使用 basename 函数,但似乎无法获得正确的结果。
//path to Network Share
$uncpath = "//myserver/adirectory/personnel/";
//get all files with a .pdf extension.
$files = glob($uncpath . "*.pdf");
//print each file name
foreach ($files as $file)
{
echo "<a target=_blank href='File:///$file'>$file</a><br>";
}
链接工作正常,只是显示文字显示//myserver/adirectory/personnel/document.pdf
而非document
。请注意,上面的代码取自我在研究时发现的另一个例子。如果有一个全新的更好的方式,那么我愿意接受建议。
答案 0 :(得分:4)
echo basename($file);
答案 1 :(得分:2)
像这样修改你的代码:
<?
$uncpath = "//myserver/adirectory/personnel/";
//get all files with a .pdf extension.
$files = glob($uncpath . "*.pdf");
//print each file name
foreach ($files as $file)
{
echo "<a target=_blank href='File:///$file'>".basename($file)."</a><br>";
}
?>
答案 2 :(得分:0)
如果basename()由于某种原因不起作用,您可以尝试这样做:
$file_a = explode('/',$file);
if (trim(end($file_a)) == '')
$filename = $file_a[count($file_a)-2];
else
$filename = end($file_a);