2011-03-29 18 views

答えて

6

私はあなたがはドットだけでなく、ファイル名でを開始し、任意のファイルを無視したいと思います。

<?php 
if ($handle = opendir('assets/automotive')) { 
    $ignore = array('cgi-bin', '.', '..','._'); 
    while (false !== ($file = readdir($handle))) { 
     if (!in_array($file,$ignore) and substr($file, 0, 1) != '.') { 
      echo "$file\n"; 
     } 
    } 
    closedir($handle); 
} 
?> 
+0

それはトリックです、ありがとう! – mattyb

+0

'$ file'が空でない文字列であることがわかっているので、' substr($ file、0、1) 'は' $ file [0] 'を冗長に書く方法です。 。 '$ ignore'配列を持つ冗長性は、他の条件で覆われているにもかかわらず、ドットファイルを含んでいます。 –

2

in_array()takes two parameters:検索したい事、及びで検索するには、配列 あなたが欲しい:。

if (!in_array($file, $ignore)) 
+0

私はそれを追加しましたが、それでも両方のタイプを表示します – mattyb

+0

私は同様のコードを実行し、それは私のために適切に動作します。 –

0

あなたはin_arrayのためにチェックしているが、次の質問は次のとおりです。「ものです in_array "

in_arrayは、2番目のパラメータ(この場合は$file)を検索する必要があります。あなたは必要があります:(。)

in_array($file,$ignore); 
関連する問題