2017-07-24 36 views
1

如何使用控制器功能创建文件夹?如何在laravel上使用控制器功能创建文件夹

(路线和各方面都不错,但不知道如何使文件夹)

我有例如一个简单的表单:

<form method="POST" action="{{ route('admin.projects.store') }}" enctype="multipart/form-data"> 
     <div class="form-group"> 
     <label name="title">Slug:</label> 
     <input type="text" id="slug" name="slug" placeholder="ejemplo-de-slug" class="form-control form-control-sm"> 
     </div> 
</form> 

路线在web.php:

Route::post('projects/postUpload', ['uses' => '[email protected]', 'as' => 'admin.projects.store']); 

我想把同名的文件夹放在文件夹中。

public function storeProject() 
    { 
     return ; 
    } 

知道该怎么做?

+0

将使用mkdir(路径,模式,递归,上下文)功能 – sunilwananje

回答

1

最好的做法是使用Storage

Storage::makeDirectory($directory); 

它将创建指定磁盘上一个新的文件夹(本地存储,AWS等)。

如果你想在本地磁盘创建一个新文件夹,您可以用File门面:

File::makeDirectory('/path/to/directory', 0775); 
+0

现在,我会尝试。如果不起作用,我会编辑这个评论,如果作品我编辑的问题。 –

+0

我必须把:File :: makeDirectory('/ assets/img/projects/hola',0775,true);我得到错误:mkdir()权限被拒绝。我使用nginx –

+0

@LluísPuigFerrer它与Laravel无关。您可以使用'chmod'命令来修复权限,但不这样做,这是一个糟糕的主意。使用'storage'目录来存储上传的东西。或者使用AWS等服务。但不要使用'assets'目录。如果你想访问上传的文件,你需要创建一个符号链接。阅读此:https://laravel.com/docs/5.4/filesystem#the-public-disk –

相关问题