我是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);
}
}
谢谢您帮忙。马克西姆
我使用url()
函数从控制器访问我的公共文件夹,如:
url('uploads/images/user_image.png');
使用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.
}