2016-12-06 78 views
0

我是Laravel的新手,一些小技巧讓我無法逃脫。Laravel5如何從控制器訪問公用文件夾

我有一個控制器,我需要列出公共文件夾中的圖片(例如:public/images/album/Ecosse),但我不知道如何加入它。 我總是沒有目錄錯誤。 你能解釋一下它是如何工作的嗎?

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Repositories\AlbumsRepository; 
use File; 

class AlbumController extends Controller 
{ 
    protected $albumsRepository; 

    public function __construct(AlbumsRepository $albumsRepository) 

    { 
     $this->albumsRepository = $albumsRepository; 
    } 
    public function show($n) 
    { 
     $album = $this->albumsRepository->getById($n); 

     $files1 = File::allFiles(asset('images/albums/'.$album->titre)); 
     foreach ($files1 as $key => $value) 
      { 
       if (!in_array($value,array(".",".."))) 
       { 
       if (is_dir($dir . DIRECTORY_SEPARATOR . $value)) 
       { 
        $result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value); 
       } 
       else 
       { 
        $result[] = $value; 
       } 
       } 
      } 
     return view('album')->with('album', $album); 
    } 
} 

感謝您的幫助。 Maxime

回答

0

使用RecursiveDirectoryIterator

$directory = new RecursiveDirectoryIterator(public_path('images/albums/'.$album->titre)); 
$iterator = new RecursiveIteratorIterator($directory); 
foreach ($iterator as $item) { 
    // both file and directory will be iterated. 
} 
+0

對不起已故的答案,但我在的地方,也許是改變一些東西,因爲我有這個現在目錄:C:\ wamp64 \ WWW \照片\ PUBLIC \圖片/相冊/ Ecosse。也許我需要用\替換\? –

+0

@MaximeBaude無需手動替換,Windows可以識別'\'和'/'目錄分隔符。 – forehalo

相關問題