我尝试使用此脚本从Laravel项目的文件夹中的所有图片渲染图库。我收到了这个错误
ArmadiController.php第32行中的ErrorException: opendir(http://mysite.dev:8000/images):未能打开dir:不是 实施
这是控制器中生成错误的函数。我怎样才能使它工作或做类似的事情?
public function gallery()
{
$data = [];
$folder_path = asset('images');
$num_files = glob($folder_path . "*.{JPG,jpg,gif,png,bmp}", GLOB_BRACE);
$folder = opendir($folder_path);
if ($num_files > 0) {
while (false !== ($file = readdir($folder))) {
$file_path = $folder_path . $file;
$extension = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if ($extension == 'jpg' || $extension == 'png' || $extension == 'gif' || $extension == 'bmp') {
$data[] = $file_path;
}
}
} else {
return "the folder was empty !";
}
closedir($folder);
return $data;
}
答案 0 :(得分:0)
问题是opendir()函数需要一个本地路径。可以使用public_path()而不是asset()函数来解决。