文件上传(File Uploading)
优质
小牛编辑
129浏览
2023-12-01
在Laravel中上传文件非常简单。 我们需要做的就是创建一个视图文件,用户可以选择要上载的文件和处理上传文件的控制器。
在视图文件中,我们需要通过添加以下代码行来生成文件输入。
Form::file('file_name');
在Form :: open()中,我们需要添加'files'=》'true' ,如下所示。 这有助于将表单上载到多个部分。
Form::open(array('url' => '/uploadfile','files'=>'true'));
例子 (Example)
Step 1 - 创建名为resources/views/uploadfile.php的视图文件,并在该文件中复制以下代码。
resources/views/uploadfile.php
<html>
<body>
<?php
echo Form::open(array('url' => '/uploadfile','files'=>'true'));
echo 'Select the file to upload.';
echo Form::file('image');
echo Form::submit('Upload File');
echo Form::close();
?>
</body>
</html>
Step 2 - 通过执行以下命令创建一个名为UploadFileController的控制器。
php artisan make:controller UploadFileController --plain
Step 3 - 成功执行后,您将收到以下输出 -
Step 4 - 复制以下代码
app/Http/Controllers/UploadFileController.php文件。
app/Http/Controllers/UploadFileController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class UploadFileController extends Controller {
public function index(){
return view('uploadfile');
}
public function showUploadFile(Request $request){
$file = $request->file('image');
//Display File Name
echo 'File Name: '.$file->getClientOriginalName();
echo '<br>';
//Display File Extension
echo 'File Extension: '.$file->getClientOriginalExtension();
echo '<br>';
//Display File Real Path
echo 'File Real Path: '.$file->getRealPath();
echo '<br>';
//Display File Size
echo 'File Size: '.$file->getSize();
echo '<br>';
//Display File Mime Type
echo 'File Mime Type: '.$file->getMimeType();
//Move Uploaded File
$destinationPath = 'uploads';
$file->move($destinationPath,$file->getClientOriginalName());
}
}
Step 5 - 在app/Http/routes.php添加以下行。
app/Http/routes.php
Route::get('/uploadfile','UploadFileController@index');
Route::post('/uploadfile','UploadFileController@showUploadFile');
Step 6 - 访问以下URL以测试上载文件功能。
http://localhost:8000/uploadfile
Step 7 - 您将收到提示,如下图所示。