在Linux上设置Laravel文件上传非常简单
确保已安装PHP和Composer。
安装Laravel Installer:
composer global require laravel/installer
laravel new project-name
将project-name
替换为您的项目名称。
将项目文件夹更改为Web服务器的根目录。例如,对于Apache,这通常是/var/www/html
。确保您具有适当的权限。
打开.env
文件并配置数据库连接。
在public
文件夹中创建一个名为uploads
的文件夹,用于存储上传的文件。确保此文件夹具有可写权限。
在config/filesystems.php
中配置本地磁盘以使用uploads
文件夹:
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
routes/web.php
中:Route::post('/upload', 'FileUploadController@upload')->name('upload');
FileUploadController
:php artisan make:controller FileUploadController
app/Http/Controllers/FileUploadController.php
中添加upload
方法:use Illuminate\Http\Request;
public function upload(Request $request)
{
$request->validate([
'file' => 'required|file|mimes:jpeg,png,jpg,gif|max:2048',
]);
if ($request->hasFile('file')) {
$file = $request->file('file');
$filename = time() . '.' . $file->getClientOriginalExtension();
$file->move(public_path('uploads'), $filename);
}
return back()->with('success', 'File uploaded successfully.');
}
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>File Upload</title>
</head>
<body>
<h1>Upload File</h1>
@if (session('success'))
<div>
{{ session('success') }}
</div>
@endif
<form action="{{ route('upload') }}" method="POST" enctype="multipart/form-data">
@csrf
<input type="file" name="file">
<button type="submit">Upload</button>
</form>
</body>
</html>
routes/web.php
中添加一个GET请求以显示文件上传表单:Route::get('/upload', function () {
return view('upload');
})->name('upload.form');
现在,您可以在Web浏览器中访问http://your-domain.com/upload
以查看文件上传表单。选择一个文件并提交表单,文件将被保存到public/uploads
文件夹中。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。