Laravel 是一个开源的 PHP Web 应用框架,它提供了一套简洁而优雅的语法以及丰富的功能,使开发者能够快速构建高质量的 Web 应用程序。
要将 PDF 文件上传到 MySQL 数据库使用 Laravel,可以遵循以下步骤:
完整代码示例:
.env
文件中设置数据库连接信息,如:DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password
php artisan make:migration create_pdfs_table --create=pdfs
在生成的迁移文件中,定义表的结构:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePdfsTable extends Migration
{
public function up()
{
Schema::create('pdfs', function (Blueprint $table) {
$table->id();
$table->string('filename');
$table->string('path');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('pdfs');
}
}
<form action="/upload" method="POST" enctype="multipart/form-data">
@csrf
<input type="file" name="pdf_file">
<button type="submit">上传</button>
</form>
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UploadController extends Controller
{
public function upload(Request $request)
{
if ($request->hasFile('pdf_file')) {
$file = $request->file('pdf_file');
$path = $file->store('pdfs');
// 将文件信息保存到数据库
$pdf = new \App\Models\Pdf;
$pdf->filename = $file->getClientOriginalName();
$pdf->path = $path;
$pdf->save();
return '文件上传成功!';
}
return '未选择文件!';
}
}
routes/web.php
文件中配置路由:<?php
use Illuminate\Support\Facades\Route;
Route::post('/upload', 'UploadController@upload');
以上代码演示了使用 Laravel 实现将 PDF 文件上传到 MySQL 数据库的基本流程。请根据实际需求和系统环境进行适当修改。
领取专属 10元无门槛券
手把手带您无忧上云