2017-02-07 9 views
2

現在、ファイルについて再生しようとしていますが、ファイルの配置場所やリストの読み方を理解するのに苦労しています。Laravel 5.3ファイルのディレクトリを保存して読み込みます

アイブ氏は

$files = array(); 
$dir = opendir(asset('files'); // open the cwd..also do an err check. 
while(false != ($file = readdir($dir))) { 
    if(($file != ".") and ($file != "..") and ($file != "index.php")) { 
      $files[] = $file; // put in array. 
    } 
} 

にいくつかのテストファイルを入れてみましたが、それはそれで3テストファイルを有しているにも関わらず、空白を返します。

ファイル:allFile()はサポートされているメソッドではありませんが、ディレクトリからファイルを読み込む方法とは別に不思議に思っています。どこにファイルを格納するのですか?サーバー上にある

答えて

3

Laravel 5.3はStorage instead of Filesを使用します。

use Illuminate\Support\Facades\Storage; 

$files = Storage::files($directory); 

$files = Storage::allFiles($directory); // Includes subdirectories 
+0

パブリックディレクタパスを渡すと、空の配列が返されますか?次のいずれかの方法を使用して、ディレクトリ内のすべてのファイルにアクセスできます。 – Rlemm1991

+0

正しいパスを渡していることを確認してください。 Storageクラスの場合、私はそれがあなたのプロジェクトディレクトリに相対的であるべきだと思います。したがって、あなたのフォルダが 'storage/files'なら、あなたが渡すべきものです。それを微調整する必要があるかもしれません。また、 'Storage :: dirname($ directory);'を記録して、どこを探しているのか正確に調べることもできます。 – aynber

+0

私がテストしたファイルは、単純なtest.txtですが、$ directory = storage/filesにまだ返信しているメールを設定すると、ストレージ/ファイルに格納されます – Rlemm1991

関連する問題