在Linux上使用Laravel框架处理文件上传,你需要遵循以下步骤:
enctype="multipart/form-data"
属性的表单,以支持文件上传:<form action="/upload" method="POST">
@csrf
<input type="file" name="file">
<button type="submit">上传文件</button>
</form>
routes/web.php
)中,定义一个路由来处理文件上传请求:use Illuminate\Support\Facades\Route;
use App\Http\Controllers\FileUploadController;
Route::post('/upload', [FileUploadController::class, 'upload']);
FileUploadController
的控制器:php artisan make:controller FileUploadController
FileUploadController
中,添加一个名为upload
的方法来处理文件上传:use Illuminate\Http\Request;
public function upload(Request $request)
{
// 验证请求中是否包含文件
$request->validate([
'file' => 'required|file',
]);
// 获取上传的文件
$file = $request->file('file');
// 生成唯一的文件名
$filename = time() . '_' . $file->getClientOriginalName();
// 将文件移动到指定的目录
$file->move(public_path('uploads'), $filename);
// 返回成功消息
return back()->with('success', '文件上传成功!');
}
uploads
的目录:mkdir public/uploads
uploads
目录具有适当的权限,以便Laravel应用程序可以将文件写入该目录。运行以下命令更改目录权限:chmod -R 755 public/uploads
现在,当用户通过表单上传文件时,Laravel应用程序将处理文件上传并将文件存储在public/uploads
目录中。