【问题标题】:Make directory inside directory Laravel 5.4在 Laravel 5.4 目录中创建目录
【发布时间】:2017-11-24 05:51:05
【问题描述】:

我正在尝试使用以下代码在目录中创建一个目录:

Storage::makeDirectory('app/public' . $data['code'] . '/' . 'themes', true);

所以结构将是:

文件夹 1: app/public/123

文件夹 2: app/public/123/themes

过去 2 小时我一直在尝试。我希望有人能帮忙。谢谢!

【问题讨论】:

  • 为什么要在 Storage 中创建目录时提供公共路径

标签: laravel filesystems


【解决方案1】:

您可以通过调用makeDirectory() method overFile`对象递归地创建目录

$result = File::makeDirectory('/path/to/directory', 0775, true);

在您的情况下,在storage 目录中创建themes 目录

Storage::makeDirectory('themes', 0775, true);

在公共目录中创建文件

$result=File::makeDirectory('app/public/' . $data['code'] . '/' . 'themes',0755, true);
dd($result);

【讨论】:

  • 在我的帖子中,它显示了我想要的结构。您的代码结构将是:/app/public/123 和 app/public/themes
  • @TenTimesCake 我已经更新了我的答案,检查最后一个 synatx 以在公共文件夹中创建目录
  • 您更新的代码仅创建 app/public/123 它不会创建 app/public/123/themes
  • 它在我的系统中创建,检查123目录里面,它递归创建
  • 可能与读/写权限有关吗?在我的系统上,它不会创建最后一个文件夹。
【解决方案2】:

问题在于路径结构。

以下代码有效:

Storage::makeDirectory('public/' . $data['code'] . '/' . 'themes');

【讨论】:

    【解决方案3】:

    在您的应用程序中检查第 44 行 config/filesystem.php 中给出的路径。因此,当您尝试创建 directoryfile 时,请检查存储目录

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-04
      相关资源
      最近更新 更多