繁体   English   中英

PHP仅从UNC路径中提取文件名

[英]PHP Extract only the Filename from UNC Path

我正在尝试创建一个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 ,链接才能正常工作。 请注意,以上代码取自我在研究时发现的另一个示例。 如果有一种全新的更好的方法,那么我愿意提出建议。

echo basename($file);

http://php.net/basename

像这样修改您的代码:

<?
$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>"; 
}

?>

如果basename()由于某些原因不起作用,则可以尝试以下方法:

$file_a = explode('/',$file);
if (trim(end($file_a)) == '')
    $filename = $file_a[count($file_a)-2];
else
    $filename = end($file_a);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM