Я хочу задать вопрос. Я новичок в структуре laravel. Я хочу создать текстовый файл из данных формы ввода пользователя, используя фреймворк Laravel. в то же время я хочу сохранить эти данные в своей базе данных.
Мне удалось сохранить в базе данных. но я не могу создать из этого файл .txt.
Я пытался получить данные из базы данных, но произошла ошибка. и я просто пытаюсь получить данные из формы ввода, это тоже ошибка.
Я пробовал...
<?php
$nama = $_POST['name'];
$email = $_POST['email'];
$dob = $_POST['date'];
$phone = $_POST['phone'];
$gender = $_POST['gender'];
$address = $_POST['addreess'];
$date = date('dmY');
$jam = data('his');
$data = "$nama,$email,$dob,$phone,$gender,$address";
$file = "$nama"-"$date$jam";
$namafile = "$file.txt";
$fh = fopen($namafile,"w");
fwrite($fh,$data);
fclose($file);
echo "<h2>Hasil Penyimpanan Data</h2>";
echo "<hr>";
echo "Hasil : <a href='$namafile'> $namafile </a>";
Я использую его в своем index.php, так как я могу напрямую получать данные из формы ввода, а затем сохранять их как файл .txt.
Вот мой код в контроллере, который сохраняется в моей базе данных:
public function store(Request $request)
{
$employee = new Employee();
$employee->nama = $request->get('name');
$employee->email = $request->get('email');
$employee->dob = $request->get('date');
$employee->phone = $request->get('phone');
$employee->gender = $request->get('gender');
$employee->addreess = $request->get('addreess');
$employee->save();
return redirect('employees')->with('success','Selamat, Data berhasil di tambahkan !');
}
Как я могу сохранить входные данные в базе данных и в то же время как я могу сохранить данные в текстовый файл?
Спасибо за вашу помощь. :)
Ваше имя файла не будет правильным, поскольку это не то, как вы объединяете. Также может быть лучше указать, в какой каталог вы хотите поместить его, будь то хранилище или общедоступный.
на самом деле я не знаю, где мне разместить синтаксис, который я могу сохранить в текстовом файле. Я использую этот код в php native, а в Codeogniter работает. когда я использую laravel, я не понимаю, как я могу сохранить данные в текстовый файл @ceejayoz
@MuhammadSholehhudin Сделайте это после того, как вы ->save() запись сотрудника. Но зачем вы вообще создаете файл? У вас уже есть все в базе данных.
могу ли я сохранить эту форму в текстовом файле? так что это требование моего начальника .. я должен сохранить информационную форму в текстовый файл .. @ceejayoz
Да, ты можешь. Я связал вас с документами о том, как создать файл и сохранить в нем текст. (Это по-прежнему глупое требование; какой смысл хранить его как в .txt, так и в базе данных?)
Я попытался поместить это ниже -> save (), но это все еще ошибка. он говорит: «fclose () ожидает, что параметр 1 будет ресурсом, заданная строка». что я должен изменить, чтобы он был строкой .. хмм да ты знаешь, bos всегда верен в любой ситуации .. @ceejayoz
Вам не следует использовать такие функции, как fclose. Я связал вас с документацией по файловым функциям Laravel.






В Laravel используйте put () фасада Storage.
use Illuminate\Support\Facades\Storage;
Storage::disk('local')->put('file.txt', 'Your content here');
// 'file.txt' // yo can use your file name here.
// 'Your content here' // you can specify your content here
Это будет храниться в storage/app/.
так что ваш контроллер будет выглядеть так,
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use App\Employee;
class HomeController extends Controller
{
public function store(Request $request)
{
Storage::disk('local')->put('file.txt', 'Your content here');
$employee = new Employee();
$employee->nama = $request->get('name');
$employee->email = $request->get('email');
$employee->dob = $request->get('date');
$employee->phone = $request->get('phone');
$employee->gender = $request->get('gender');
$employee->addreess = $request->get('addreess');
$employee->save();
return redirect('employees')->with('success','Selamat, Data berhasil di tambahkan !');
}
}
где взять этот синтаксис? в контроллере или маршруте? или что-нибудь еще? Я все еще новичок в ларавеле .. @Sobin
@MuhammadSholehhudin не беспокойтесь, я могу вам помочь, вы можете добавить этот код в свой контроллер, но это будет идти вверху. Используйте Illuminate \ Support \ Facades \ Storage;
Большое спасибо ... если вы можете посоветовать мне прояснить это упражнение. затем, где я добавляю Storage :: disk ('local') -> put ('file.txt', 'Your content here'); ? ниже моего метода Storage ()? или мне нужно создать новый метод и написать в нем? @SobinAugustine
Нет, вы можете добавить оба метода в один и тот же метод store (), если это должно происходить в одном процессе.
Итак, этот код все еще работает или нет? о том, как я могу создать эти данные в текстовом файле? я имею в виду первый код, которым я делюсь выше @SobinAugustine
Шаг 1: выполните Storage :: disk ('local') -> put ('file.txt', 'Your content here');
после проверки шага 1 выполните шаг 2: добавьте свою логику к имени файла и его содержимому
Шаг 3: реализуйте красноречивое сохранение
Итак, моя логика относительно имени файла и содержимого все еще находится в Контроллере? с методом хранения? @SobinAugustine
Эй, вы знаете, мне просто удалось создать файл ... но это только один раз ... затем я снова заполняю форму, текстовый файл не создается ...
@MuhammadSholehhudin да, с методом store ()
@MuhammadSholehhudin это потому, что он снова перезаписывает файл, поэтому дайте уникальные имена (включая временную метку в логику имени файла и т.д.), Это решит проблему.
Да, вы были правы ... теперь это работа для меня ... я могу добавить, если имя входа другое или после обновления ... хе, кстати, большое вам спасибо ... но есть одна функция, которая еще не работает .. [$ дата = дата ('дмГ'); $ jam = data ('his');] я не могу выполнить этот код в своем контроллере, потому что контроллер не расширяет загрузочный datepicker .. как я могу получить значение времени сейчас? @SobinAugustine
Сделайте одно, затем сделайте второе, тогда вернет перенаправление. См. laravel.com/docs/5.7/filesystem#storing-files, чтобы узнать о способе работы с файлами в Laravel. Если вам нужна дополнительная помощь, дайте нам знать, что означает «но ошибка», например сообщение об ошибке и строки кода, которые ее вызывают.