Я разрабатываю функцию, которая импортирует данные из файла CSV на веб-сайт. (Пользователи, продукты и т. Д.), Однако, некоторые CSV-файлы слишком велики, например, CSV-файл для Продуктов, имеющих более 15 000 строк, и все, что мне нужно сделать, - это поместить каждую строку в массив, чем вызвать функцию из CMS в ту же в базе данных это продолжалось слишком долго, поэтому страница, даже если я изменил время возбуждения на сервере, через некоторое время все равно будет показывать потерянную конкуренцию, поэтому я решил отображать сообщение с результатами каждый раз после импорта одного продукта.
У меня есть файл с именем importFiles.php, который анализирует файл CSV и выполняет импорт.
добавлен следующий код, чтобы результат отображался в режиме реального времени:
set_time_limit(0);
ob_end_clean();
ob_implicit_flush(1);
В моем цикле foreach у меня есть
foreach ($arrays as $p) {
Groups::add($p['groupName'], $p['pfID']);// add function
$rowsUpdated = $rowsUpdated + 1;
echo $p['groupName'] . "::" . "has been added to database" . "<br>";
}
}
На мой взгляд файл Store_bulk_import.php
<form id="import-form" action="" method="post">
<h2>Community Store Bulk Import</h2>
<hr />
<fieldset>
<legend>1. Select a file for update products</legend>
<div class="help-block">Import files must be in CSV format.</div>
<?php
echo $al->file('ccm-b-file', 'fileID', t('Choose File'), $csvFile);
?>
</fieldset>
<br />
<input id="import-submit" type="submit" class="btn btn-primary" value="Import Products" style="" />
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
?>
<div class="container">
<?php
$csvfile = $_POST['fileID'];
echo $controller->csvImport($csvfile) . "<br>";
?>
</div>
Результаты будут отображаться за пределами области, которую я хочу, большинство из них будут отображаться в верхней части страницы даже до того, как будет загружен некоторый контент CMS.
![enter image description here](https://i.stack.imgur.com/vjq1t.jpg)