【问题标题】:Laravel copyDirectory function not workingLaravel copyDirectory 功能不起作用
【发布时间】:2021-09-24 11:29:17
【问题描述】:

我想将目录复制或移动到 laravel 中的新目录,但 copyDirectory 函数总是返回 false 给我。我的代码有什么问题吗?提前致谢

$destinationDir = 'storage/Components/'.'Compressor'.'/'.$approvedRequest['compressor_model'].'/';
$success = File::copyDirectory(public_path().$approvedRequest['attachment_dir'], public_path().$destinationDir,true);
$compressorUpdate->attachment_dir = $destinationDir;

【问题讨论】:

    标签: php laravel laravel-filesystem


    【解决方案1】:

    我相信当前目录在

    storage/Components/Compressor/{$approvedRequest['compressor_model']}/
    

    想要复制到

    public/storage/Components/Compressor/{$approvedRequest['compressor_model']}/
    

    这样你就可以简化

    $path="Components/Compressor/{$approvedRequest['compressor_model']}/";
    
    $currentDirectory=storage_path($path);
    $destinationDir =public_path($path);
    
    $success = File::copyDirectory($currentDirectory,$destinationDir);
    

    【讨论】:

      【解决方案2】:

      我认为您正在尝试复制到符号链接目录。您应该参考目录的真实路径而不是其符号链接。所以请改用storage_path()

      $destinationDir = implode(DIRECTORY_SEPARATOR, ['Components', 'Compressor', $approvedRequest['compressor_model']]);
              $success = \File::copyDirectory(
                  public_path() . $approvedRequest['attachment_dir'],
                  storage_path() . DIRECTORY_SEPARATOR . $destinationDir, true);
              $compressorUpdate->attachment_dir = $destinationDir;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-21
        • 2015-10-10
        相关资源
        最近更新 更多