1

UNC パス内のすべての pdf ドキュメントを検索し、それらを新しいウィンドウで開くハイパーリンクとしてリストに返すイントラネット ページを作成しようとしています。私はほぼそこにいますが、次のコードは完全な UNC パスを表示します。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。上記のコードは、調査中に見つけた別の例から取られたことに注意してください。まったく新しいより良い方法があれば、私は提案を受け入れます。

4

3 に答える 3

4
echo basename($file);

http://php.net/basename

于 2012-04-25T09:05:50.197 に答える
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>"; 
}

?>
于 2012-04-25T09:14:55.647 に答える
0

basename() が何らかの理由で機能しない場合は、これを試すことができます。

$file_a = explode('/',$file);
if (trim(end($file_a)) == '')
    $filename = $file_a[count($file_a)-2];
else
    $filename = end($file_a);
于 2012-04-25T09:11:12.727 に答える