Как создать каталог и файл в Laravel - PullRequest
0 голосов
/ 05 марта 2019

Я хотел бы добиться локализации в laravel https://laravel.com/docs/5.8/localization

Я бы хотел, чтобы пользователь мог настроить файл .json и загрузить переводы значений ключа.

Для этого мне нужно создать каталог на resources/lang/' . $request->language, то есть $path = base_path('resources/lang/' . $request->language . '/');, а затем файл json $request->language. '.json'

Я пробовал это

File::makeDirectory(base_path()."'resources/lang/' . $request->language . '/'", $mode = 0777, true, true);

Тогда

//Write File
$newJsonString = json_encode($request->translation, JSON_PRETTY_PRINT);
file_put_contents(base_path($path . $request->language. '.json'), stripslashes($newJsonString));

По некоторым причинам он не создает даже каталог.Могу я что-то упустить?

1 Ответ

0 голосов
/ 05 марта 2019

Я создал каталог, протестировав таким образом, пожалуйста, убедитесь, что вы filesystem.php в папке конфигурации и разрешении папки хранилища.

// This will create folder in storage/app/folder_name
Route::get('/test',function(){
    Storage::disk('local')->makeDirectory('app/testFolder');
});

// This will create folder in resources/lang/folder_name
Route::get('/test',function(){
    $result = File::makeDirectory(base_path().'/resources/lang/testFolder');
    dd($result); // return true if folder created
});


// For more clarity try running this 
Route::get('/test',function(){
    $langs = ['en', 'fr', 'de','bs'];
    foreach ($langs as $key) {
        $path = base_path().'/resources/lang/'.$key;
        if (!File::exists($path)){
            $result = File::makeDirectory($path);
            dump("New Folder Created : ".$key);
        }else{
            dump("Folder Already Exist : ".$key);
        }
    }
    dd("ALL DONE");
});

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...