我是Laravel的新手,一些小伎俩逃脱了我。
我有一个控制器,我需要在公共文件夹中列出图片(例如: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);
}
}
感谢您的帮助。 马克西姆
答案 0 :(得分:1)
我通过使用url()
之类的功能从控制器访问我的公用文件夹
url('uploads/images/user_image.png');
答案 1 :(得分: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.
}