Я хочу построить панель progess со статусом моего php-скрипта. Я прочитал, что это можно сделать с помощью session.upload_progress.Laravel 5.1 using session.upload_progress
Я использую laravel Homestead, а в php.ini все заявки активны.
Это мой HTML
{!! Form::open(['route' => 'gebruikers_upload', 'class' => 'form-horizontal import', 'enctype' => 'multipart/form-data', 'target' => 'hidden_iframe']) !!}
<input type="hidden" value="myForm" name="{{ini_get("session.upload_progress.name")}}">
<input type="file" name="file" id="the-file"/>
<button class="btn btn-sm btn-info btn_import" type="submit">Importeer</button>
<button class="btn btn-sm btn-danger" type="button">Cancel</button>
{!! Form::close() !!}
{{--End Form--}}
<iframe id="hidden_iframe" name="hidden_iframe" src="about:blank"></iframe>
<div class="progress">
<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="25"
aria-valuemin="0" aria-valuemax="100" style="width: 45%">
<span class="">45% Complete</span>
</div>
</div>
Когда завершения заполнения тэ маршрут является:
Route::get('dashboard/gebruikers/upload_status', '[email protected]');
И в UserController контроллер в методе uploadStatus у меня есть этот
public function uploadStatus(Request $request)
{
session_start();
echo '<pre>';
print_r($_SESSION);
echo '</pre>';
}
Но это всегда показывает пустой массив. И когда я использую этот код
$data = $request->session()->all();
echo '<pre>';
print_r($data);
echo '</pre>';
возвращает этот
Array
(
[_token] => jFkleI9kIZJiZP3pEARx0hDrHtsynPmuGkse97nT
[_previous] => Array
(
[url] => http://localhost.dev:8000/dashboard/gebruikers/upload_status
)
[flash] => Array
(
[old] => Array
(
)
[new] => Array
(
)
)
[login_82e5d2c56bdd0811318f0cf078b78bfc] => 1
)
Но нет информации об обновлении прогресса.
Как я мог бы использовать это с Laravel 5,1
Правильно, если вы должны были использовать пакет освещения/сеанса вне Laravel, вам нужно будет вызвать метод save на экземпляре SessionManager, чтобы сохранить обновления переменной '$ _SESSION'. –