2016-12-06 2 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을 사용하십시오. C : \ wamp64 \ www가 공공 \ 이미지/앨범/Ecosse \ 사진 \

$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

늦은 답변 죄송하지만 난이 지역에있어, 어쩌면 내가 디렉토리 지금이 있기 때문에 뭔가를 변경합니다. 어쩌면 \ by /를 대체해야합니까? –

+0

@MaximeBaude 수동으로 바꾸지 않아도 윈도우는 '\'와 '/'디렉토리 구분 기호를 인식 할 수 있습니다. – forehalo

관련 문제