2016-10-18 3 views
0

코드 월드, 사람들.PHP는 특정 디렉토리 파일을 보여줍니다.

내 페이지에만 특정 파일을 표시하려고합니다. 지금은 디렉토리에서 보이지 않는 thumbs.db 파일을 반환하고 있습니다. pdf, docx 또는 xls 파일 만 표시하면됩니다.

<?php 
    function returnEmpdisDocs() 
    { 
    $dir = "empdis/docs/"; 
    $ffs = scandir($dir); 

    foreach($ffs as $ff) 
    { 
     if($ff != '.' && $ff != '..') 
     { 
     $filesize = filesize($dir . '/' . $ff);  
     echo "<li><a download href='$dir/$ff'>$ff</a></li>"; 
     } 
    } 
    } 
    returnEmpdisDocs(); 
?> 

내 질문은 : 위의 코드에 pdf, docx 및 xls 파일 만 포함 시키려면 어떻게해야합니까?

귀하의 도움에 크게 감사드립니다. 미리 감사드립니다.

+0

당신이하고있는 일 : 당신이하고 싶은 것을 걸러 내고 싶지 않은'if' 테스트를 추가하십시오. –

+1

http://stackoverflow.com/questions/17309554/glob-php-return-all-types-of-images-from-directory – mkaatman

+1

[PHP 파일 목록 여러 파일 확장명]의 가능한 복제본 (http://stackoverflow.com)/questions/10591530/php-file-listing-multiple-file-extensions) –

답변

1

그냥이 대체 :

if($ff != '.' && $ff != '..')

을하고 사용하는 :

if($ff != '.' && $ff != '..' && preg_match('#\.(pdf|docx|xls)$#',$ff))

문자열이 주어진 단어 중 하나

작은 업데이트에 끝나는 정규 표현식 \.(pdf|docx|xls)$ 테스트 : 실제 확장에 대한 더 나은 테스트 (Patrick이 지적한), 나는을 추가했다.

+0

감사합니다. 이것이 나를 위해 일한 것입니다. –

+0

이 솔루션은 확장 (또는 파일 형식)을 명시 적으로 확인하지 않습니다. 파일 이름 끝에 무엇이 있는지 간단히 검사합니다. 그래서'mypdf'라는 파일 (확장자 없음)은이 검사를 통과하게됩니다. 'example.notxls'와 마찬가지로 –

+0

이후의 편집으로 인해 이전에 언급했던 문제가 해결되었습니다. –

관련 문제