2012-04-25 3 views
0

UNC 경로에서 모든 pdf 문서를 조회하여 목록에서 새 창으로 열리는 하이퍼 링크로 반환하는 인트라넷 페이지를 만들려고합니다. 나는 거의 거기에 있지만 다음 코드는 FULL UNC 경로를 표시합니다 - 내 질문에 어떻게 파일 이름을 표시 할 수 있습니다 (.pdf 확장명이없는 것이 좋음). 나는 기본 이름 기능을 실험했지만 올바른 결과를 얻지 못하는 것 같습니다.PHP UNC 경로에서 파일 이름 만 추출하십시오.

//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 보여줍니다 잘 작동합니다. 위의 코드는 연구하는 동안 찾은 다른 예제에서 가져온 것입니다. 완전히 새로운 방법이 있다면 제안을 할 수 있습니다.

+3

당신이 찾고있는 ['basename'] (http://php.net/basename)에 대한 것입니다. – Jon

+1

가능한 [PHP로 전체 경로에서 파일 이름을 얻는 방법?] (http://stackoverflow.com/questions/1418193/how-to-get-file-name-from-full-path-with-php) –

답변

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

?> 
+0

건배는 치료를했습니다! 신속한 답변에 감사드립니다. – SuperSub

+0

확장명을 제거하려면 echo "".preg_replace("/\\.[^.\\s]{3,4}$/", "",basename($file))."
"; – elo

+0

더 나은, 정말 고마워요 감사합니다! – SuperSub

0

기본 이름()가 어떤 이유로 작동하지 않는 경우이를 시도 할 수 있습니다 :

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