【问题标题】:Laravel 5.2 Storage::makeDirectory($dir) is not creating directoryLaravel 5.2 Storage::makeDirectory($dir) 没有创建目录
【发布时间】:2023-03-06 16:17:01
【问题描述】:

我对这个逻辑感到困惑。我正在使用 Laravel 5.2 Storage::makeDirectory 创建两个路径,第一个 (video/) 被正确创建,另一个 (thumbnails/) 没有。

$user = 1;

if(!File::exists(public_path() . "/video/$user"))
{
    Storage::makeDirectory(public_path() . "/video/$user", 0777);
}

$file = rand(1111111111111, 9999999999999);
$imgpath = public_path() . "/thumbnails/$file";

if(!File::exists($imgpath))
{
    Storage::makeDirectory($imgpath, 0777);
}

这里是权限配置:

drwxrwxrwx 2 ubuntu ubuntu 4096 Jun 28 19:33 thumbnails/
drwxrwxrwx 3 ubuntu ubuntu 4096 Jun 29 15:21 video/

我也可以使用来自 $imgpath 的给定字符串从 cli 创建一个目录:

mkdir /home/ubuntu/workspace/site/public/thumbnails/6300643852187

有什么建议吗?

【问题讨论】:

  • 嗯...我现在没有看到任何错误,您可以尝试在没有任何条件的情况下执行mkdir($imgpath, 0777, false); 吗?
  • 不,它不起作用。
  • 能否提供$imgpath 列表,好吗? (我知道每次都不一样,但无论如何我都需要看看)
  • 它不包含任何内容,因为没有创建路径是因为...... Idk......这确实是我的问题。为什么。

标签: php laravel ubuntu permissions laravel-5.2


【解决方案1】:

你需要强迫它这样做

$dr = $_SERVER['DOCUMENT_ROOT'];
$is_dir = File::makeDirectory($dr.'/uploads/images/'.$user.'/thumbs/', 0755, true, true);

0755 是文件夹权限

第一个是递归创建文件夹

第二个正确的是强迫它这样做

【讨论】:

    【解决方案2】:

    Laravel 5.2

    if(!Storage::disk('public')->has('image/path/directory/')){
        Storage::disk('public')->makeDirectory('image/path/directory/');
    }
    

    【讨论】:

      【解决方案3】:

      嗯...我知道发生了什么。

      File::exists(public_path() . "/video/$user") 正在寻找这个:

      /home/ubuntu/workspace/site/public/video/N


      Storage::makeDirectory(public_path() . "/video/$user") 正在创建一个目录:

      /home/ubuntu/workspace/site/storage/app/public/video/N


      所以我可以去 site/config/filesystems.php 并更改 appapp/public 的路由;您可以使用帮助程序storage_path('app') 来检查它们。
      但是,相反,我决定将视频保存在 storage/app/public/videostorage/app/public/thumbnails,我收到一些包的错误。

      但是,这两个路径都是可写的,现在应该可以工作了。

      【讨论】:

        猜你喜欢
        • 2016-05-04
        • 2016-09-06
        • 2017-02-21
        • 2016-11-04
        • 2016-03-25
        • 1970-01-01
        • 1970-01-01
        • 2016-12-10
        • 2016-08-08
        相关资源
        最近更新 更多