2017-07-24 33 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 –

相關問題