2016-08-22 8 views
-3

PHPクラスを作成して使用しようとしています。これは私のクラスです:Dir PHPクラスを読む - 返信で1ファイルのみ

class UseDir 
{ 

    public $varReadFilesFromDir;   

    public function readDir(){ 

     if (is_dir($this->varReadFilesFromDir)) 
     { 
      if ($dirHandler = opendir($this->varReadFilesFromDir)) 
      { 
       while (($getFile = readdir($dirHandler)) !== false) 
       { 
        if($getFile != "." && $getFile != ".."){ 

         if (strpos($getFile, '.xml') === false){ 

          continue; 
         } 

         //echo "<p>$getFile</p>"; 
         //return $getFile; 

        } 
       } 
      } 
      closedir($dirHandler); 
     } 
    } 

} 

$new_UseDir = new UseDir(); 

$new_UseDir->varReadFilesFromDir = "C:\dir\files"; 

$new_UseDir->readDir(); 

私はここで各ファイルを取得したい、私はファイルで何かを行うことができます別のクラスを使用したいです。 //echo "<p>$getFile</p>";のコメントを外すと、すべてのファイル名が表示されます。

//return $getFile;のコメントを外してecho $new_UseDir->readDir();を編集すると、ディレクトリの最初のファイルのみが表示されます。

なぜ1ファイルしか取得できないのですか?

に関して、 ebody

+1

**関数は**変数**を返すことができますが、**変数**は**無限の数値を出力できます。もちろん、配列を作成して配列を返すことができます。 – developerwjk

+0

これらのエントリを持つ配列を作成します。 'return'ステートメントは、関数またはメソッドを直ちに終了します。 –

+1

代わりに 'glob()'か 'scandir()'を試してみてください。 –

答えて

0

readdirだけ呼び出しごとに1人のファイル名を返すので、あなただけの、一つのファイルを取得します。ディレクトリ内のすべてのファイルが必要な場合は、返された各ファイル名を格納する必要があります。

関連する問題