Как прочитать загруженный файл ($_FILE) с помощью Spout ⇐ Php
-
Гость
Как прочитать загруженный файл ($_FILE) с помощью Spout
Я пытаюсь создать страницу, на которую пользователь может загрузить правильно отформатированный файл Excel (описанный в руководстве) и вставить этот файл в базу данных.
Я думаю, что смогу вставить файл в базу данных, как только Spout сможет его прочитать, но эта часть не работает. Может кто-нибудь мне помочь.
Изменить: если это вызывает беспокойство, сервер, на котором установлена эта программа, является общим.
Код:
// (1) ПРОВЕРКА ФАЙЛА // * Ограничение типа HTML-файла иногда может пропадать if (!isset($_FILES['upexcel']['tmp_name']) || !in_array($_FILES['upexcel']['type'], [ 'текст/значения, разделенные запятыми', 'текст/значения, разделенные запятыми', 'текст/x-csv', 'текст/CSV', 'текст/обычный', 'приложение/октет-поток', 'приложение/vnd.ms-excel', 'приложение/x-csv', 'приложение/csv', 'приложение/Excel', 'приложение/vnd.msexcel', 'приложение/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ])) { die("Неверный тип файла"); } require_once "../database.php"; require_once '/src/Spout/Autoloader/autoload.php'; используйте Box\Spout\Reader\Common\Creator\ReaderEntityFactory; $reader = ReaderEntityFactory::createReaderFromFile($_FILES['upexcel']['tmp_name']); $reader->open($_FILES['upexcel']['tmp_name']); foreach ($reader->getSheetIterator() как $sheet) { foreach ($sheet->getRowIterator() как $row) { // делаем что-то со строкой $cells = $row->getCells(); echo " Привет" .$cells; } } $reader->закрыть();
Я пытаюсь создать страницу, на которую пользователь может загрузить правильно отформатированный файл Excel (описанный в руководстве) и вставить этот файл в базу данных.
Я думаю, что смогу вставить файл в базу данных, как только Spout сможет его прочитать, но эта часть не работает. Может кто-нибудь мне помочь.
Изменить: если это вызывает беспокойство, сервер, на котором установлена эта программа, является общим.
Код:
// (1) ПРОВЕРКА ФАЙЛА // * Ограничение типа HTML-файла иногда может пропадать if (!isset($_FILES['upexcel']['tmp_name']) || !in_array($_FILES['upexcel']['type'], [ 'текст/значения, разделенные запятыми', 'текст/значения, разделенные запятыми', 'текст/x-csv', 'текст/CSV', 'текст/обычный', 'приложение/октет-поток', 'приложение/vnd.ms-excel', 'приложение/x-csv', 'приложение/csv', 'приложение/Excel', 'приложение/vnd.msexcel', 'приложение/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ])) { die("Неверный тип файла"); } require_once "../database.php"; require_once '/src/Spout/Autoloader/autoload.php'; используйте Box\Spout\Reader\Common\Creator\ReaderEntityFactory; $reader = ReaderEntityFactory::createReaderFromFile($_FILES['upexcel']['tmp_name']); $reader->open($_FILES['upexcel']['tmp_name']); foreach ($reader->getSheetIterator() как $sheet) { foreach ($sheet->getRowIterator() как $row) { // делаем что-то со строкой $cells = $row->getCells(); echo " Привет" .$cells; } } $reader->закрыть();
Мобильная версия