如何从laravel 5.6中的路径创建文件实例

时间:2018-08-19 18:58:17

标签: php laravel

我想知道是否有一种创建file实例的方法,就像当用户发送一个知道项目路径的input file时创建的实例一样。

我有一个backups文件夹,用户可以选择他要恢复的文件,我希望将它们从备份文件夹移到用户要恢复的模型的文件夹中

我已经尝试过

$path = public_path('images/news/');
    foreach($news as $new) {
        foreach($new->images as $image) {
            $imagepath = public_path('images/backup/news/'.$image->image);
            if(file_exists($imagepath)) {

                $this->fileCtrl->copy($imagepath, $path.$new->id);
            }
        }
    }

$this->fileCtrl是使用Illuminate\Filesystem\Filesystem as File;

的实例

尝试移动文件,但没有创建带有id和内部文件的文件夹,而是创建带有id且不扩展的文件。

那么我该如何制作文件实例,或者在其他情况下,如何防止它创建文件并使其创建文件夹?

1 个答案:

答案 0 :(得分:0)

您显然需要创建目录

if (!file_exists($imagepath)) {
    //if path doesn't exist create the path and copy
    mkdir($imagepath, 0777, true);
    $this->fileCtrl->copy($imagepath, $path.$new->id);
}else{
    //just copy file to path
    $this->fileCtrl->copy($imagepath, $path.$new->id);
}