Add file upload function. modify paramiter FILESYSTEM_DISK=public in file .env
This commit is contained in:
@@ -12,25 +12,40 @@ use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class FileController extends Controller
|
||||
{
|
||||
public function datasubmit(FileRequest $request): RedirectResponse
|
||||
public function uploadFile(FileRequest $request): RedirectResponse
|
||||
{
|
||||
//upload file in public folder
|
||||
//dd($reqest->all());
|
||||
//$filename = 'new_file.'.$request->filename->extension();
|
||||
//$request->filename->move(public_path('uploads'), $filename);
|
||||
|
||||
//dd($request->all());
|
||||
//$request->validate([
|
||||
// 'filename'=>'required'
|
||||
//]);
|
||||
|
||||
$filename = 'new_file.'.$request->file("filetoinsert")->getClientOriginalExtension();
|
||||
$request->file("filetoinsert")->storeAs('file_temp', $filename);
|
||||
|
||||
//$request->filename->storeAs('file_temp', $filename);
|
||||
// Leggi il contenuto del file CSV
|
||||
$contenutoCSV = Storage::get('file_temp/new_file.csv');
|
||||
|
||||
// Analizza il contenuto CSV
|
||||
$righeCSV = str_getcsv($contenutoCSV, "\n");
|
||||
|
||||
// Converte le righe CSV in un array associativo
|
||||
$dati = [];
|
||||
foreach ($righeCSV as $riga) {
|
||||
$dati[] = str_getcsv($riga);
|
||||
}
|
||||
|
||||
// Converte l'array in formato JSON
|
||||
$json = json_encode($dati);
|
||||
|
||||
// Stampa il JSON
|
||||
echo $json;
|
||||
|
||||
|
||||
return redirect('/words');
|
||||
}
|
||||
|
||||
public function insertFile()
|
||||
{
|
||||
return view("words.partials.upload-file");
|
||||
}
|
||||
|
||||
|
||||
public function delete(): RedirectResponse
|
||||
{
|
||||
Storage::delete('file_temp/new_file.txt');
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests\WordRequest;
|
||||
use App\Http\Requests\StoreWordRequest;
|
||||
use App\Http\Requests\UpdateWordRequest;
|
||||
use App\Models\Word;
|
||||
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
@@ -19,14 +20,14 @@ class WordsController extends Controller
|
||||
public function index()
|
||||
{
|
||||
return view('words.index', [
|
||||
'words' => Word::all(),
|
||||
'words' => Word::latest('id')->paginate(10),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a new Word in the database.
|
||||
*/
|
||||
public function store(WordRequest $request): RedirectResponse
|
||||
public function store(StoreWordRequest $request): RedirectResponse
|
||||
{
|
||||
$word = new Word;
|
||||
$word->name = $request->name;
|
||||
@@ -46,21 +47,42 @@ class WordsController extends Controller
|
||||
$name = $data->name;
|
||||
$translation = $data->translation;
|
||||
//return $translation;
|
||||
return view("words.modify-word-form", compact('id', "name", "translation"));
|
||||
return view("words.partials.modify-word-form", compact('id', "name", "translation"));
|
||||
}
|
||||
|
||||
public function insert()
|
||||
{
|
||||
return view("words.partials.insert-word-form");
|
||||
}
|
||||
|
||||
/**
|
||||
* Update an existing Word in the database.
|
||||
*/
|
||||
public function update(WordRequest $request, $id): RedirectResponse
|
||||
public function update(UpdateWordRequest $request, $id): RedirectResponse
|
||||
{
|
||||
$data = Word::find($id);
|
||||
|
||||
$data->name = $request->name;
|
||||
$data->translation = $request->translation;
|
||||
$data->translation = $request->input('translation');
|
||||
$data->save();
|
||||
// Update the unique value
|
||||
$data->name = $request->input('name');
|
||||
|
||||
return redirect('/words');
|
||||
// Check for uniqueness
|
||||
$isUnique = Word::where('name', $data->name)
|
||||
->where('id', '!=', $id) // Exclude the current record from the uniqueness check
|
||||
->doesntExist();
|
||||
|
||||
if ($isUnique) {
|
||||
// Save the updated record
|
||||
$data->translation = $request->input('translation');
|
||||
$data->save();
|
||||
|
||||
// Redirect to a success route or return a success message
|
||||
return redirect('/words');
|
||||
} else {
|
||||
// Unique constraint violated
|
||||
return back()->withInput()->withErrors(['name' => 'Error: words already exists']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user