Как создать каталог и файл в Laravel

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

Я хотел бы разрешить пользователю настроить файл .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));

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

Звучит лучше для базы данных, и у spatie есть хороший пакет именно для этого: laravel-news.com/translation-loader-пакет

FatBoyXPC 05.03.2019 05:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
3
1
9 895
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я создал каталог, протестировав его таким образом, пожалуйста, убедитесь, что вы файловая система.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");
});

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

Я хочу, чтобы это было здесь resources/lang/

User101 05.03.2019 05:25

Пожалуйста, вернитесь назад, если есть какие-либо проблемы.

Vipertecpro 05.03.2019 06:19

Другие вопросы по теме