55 lines
1.3 KiB
PHP
55 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Http\Requests\FileRequest;
|
|
use App\Http\Requests\StorefileRequest;
|
|
use App\Http\Requests\UpdatefileRequest;
|
|
use App\Models\file;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
|
class FileController extends Controller
|
|
{
|
|
public function uploadFile(FileRequest $request): RedirectResponse
|
|
{
|
|
|
|
$filename = 'new_file.'.$request->file("filetoinsert")->getClientOriginalExtension();
|
|
$request->file("filetoinsert")->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');
|
|
return redirect('/words');
|
|
}
|
|
}
|