如何在 laravel 中创建文件夹
Posted
技术标签:
【中文标题】如何在 laravel 中创建文件夹【英文标题】:How to create a folder in laravel 【发布时间】:2020-08-10 01:02:52 【问题描述】:laravel 版本 6.18.8
我用这一行创建了一个目录,但它说 Method Illuminate\Filesystem\Filesystem::mkdir 不存在。
$newDirectory = public_path() . 'img/reviews/' . Str::slug($request->title,'-');
File::mkdir($newDirectory);
我还使用了 makeDirectory(),但也无法正常工作..
请帮忙用 laravel 创建一个目录
【问题讨论】:
你试过composer dump-autoload
吗?您也可以使用Storage::makeDirectory($directory);
创建目录
composer dump-autoload
Storage::makeDirectory($directory);
这两个命令必须使用或转储文件包的负载?
这个不行
composer dump-autoload
是重新生成您的自动加载器文件。一个快速的解决方法是删除您的供应商文件夹并再次运行composer install
并生成所有供应商。
这能回答你的问题吗? create folder in laravel
【参考方案1】:
你可以使用phpmkdir
函数
$dirPath = public_path('img/reviews/' . Str::slug($request->title,'-'));
if (!file_exists($dirPath))
mkdir($dirPath, 0777, true);
见How to create directory if not exists in Laravel 7.x and 6.x?
【讨论】:
这会起作用,但不能解决 OP 的问题 嗯,在幕后 Laravel 也使用了 php 原生函数。对吗? 是的,它确实在幕后使用了它,但是 Laravel 通过Filesystem
提供了太多的功能,如果它被破坏了,那么整个应用程序可能会破坏。
我猜 OP 输入错误或导入了File
Facade
你能帮我解决另一个话题吗?我将此代码用于单次上传。 if (request()->has('image')) $photo = request()->file('image'); $image = Image::make($request->image); $image->save(public_path('../../img/gallery/gallery-images/' . DB::getPdo()->lastInsertId() . '.png')); DB::table('galleries') ->where('id', '=', DB::getPdo()->lastInsertId()) ->update([ 'image' => DB::getPdo()- >lastInsertId() . '.png', ]); 但我如何在多次上传中使用它以上是关于如何在 laravel 中创建文件夹的主要内容,如果未能解决你的问题,请参考以下文章