在CentOS系统中使用Laravel框架实现文件上传,可以按照以下步骤进行:
配置文件系统:
首先,确保你的Laravel项目中的config/filesystems.php文件已经正确配置了文件存储驱动。默认情况下,Laravel支持本地、Amazon S3等多种存储方式。如果你只是想在本地存储文件,可以这样配置:
'public' => [
    'driver' => 'local',
    'root' => storage_path('app/public'),
    'url' => env('APP_URL').'/storage',
    'visibility' => 'public',
],
创建路由:
在routes/web.php文件中添加一个路由来处理文件上传的请求。
Route::post('/upload', 'FileUploadController@store')->name('file.upload');
创建控制器: 使用Artisan命令行工具创建一个新的控制器。
php artisan make:controller FileUploadController
然后在FileUploadController控制器中添加文件上传的逻辑。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
class FileUploadController extends Controller
{
    public function store(Request $request)
    {
        $request->validate([
            'file' => 'required|file',
        ]);
        $path = $request->file('file')->store('uploads', 'public');
        return back()->with('success', '文件上传成功!');
    }
}
在这个例子中,store方法会验证上传的文件是否存在,并将其存储在storage/app/public/uploads目录下。store方法的第二个参数'public'指定了存储驱动。
创建视图:
创建一个视图文件来提供文件上传的表单。在resources/views目录下创建一个新的视图文件,例如upload.blade.php。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文件上传</title>
</head>
<body>
    <form action="{{ route('file.upload') }}" method="POST" enctype="multipart/form-data">
        @csrf
        <input type="file" name="file">
        <button type="submit">上传</button>
    </form>
    @if(session('success'))
        <p>{{ session('success') }}</p>
    @endif
</body>
</html>
测试上传功能: 启动Laravel开发服务器。
php artisan serve
打开浏览器并访问http://localhost:8000/upload,你应该能看到文件上传表单。选择一个文件并提交表单,如果一切配置正确,文件将被上传到storage/app/public/uploads目录下,并且你会看到上传成功的消息。
确保你的CentOS服务器上有足够的磁盘空间来存储上传的文件,并且Laravel应用的权限设置正确,以便能够写入到指定的目录。