You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1019 B
40 lines
1019 B
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
class LogFilesController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
if (!file_exists(storage_path('logs'))) {
|
|
return [];
|
|
}
|
|
|
|
$logFiles = \File::allFiles(storage_path('logs'));
|
|
|
|
// Sort files by modified time DESC
|
|
usort($logFiles, function ($a, $b) {
|
|
return -1 * strcmp($a->getMTime(), $b->getMTime());
|
|
});
|
|
|
|
return view('log-files', compact('logFiles'));
|
|
}
|
|
|
|
public function show($fileName)
|
|
{
|
|
if (file_exists(storage_path('logs/'.$fileName))) {
|
|
return response()->file(storage_path('logs/'.$fileName), ['content-type' => 'text/plain']);
|
|
}
|
|
|
|
return 'Invalid file name.';
|
|
}
|
|
|
|
public function download($fileName)
|
|
{
|
|
if (file_exists(storage_path('logs/'.$fileName))) {
|
|
return response()->download(storage_path('logs/'.$fileName), env('APP_ENV').'.'.$fileName);
|
|
}
|
|
|
|
return 'Invalid file name.';
|
|
}
|
|
}
|