2016-10-18 1 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

あなたがやっていることを正確にフィルタリングする必要があります。 –

+1

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

+1

[PHPファイルリストの複数のファイル拡張子]の可能な複製(http://stackoverflow.com/question/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

これ以降の編集は、私の以前のコメントで述べた問題に対処しました。 –

関連する問題