Синтаксический анализ файла, предоставляемого клиентом, с помощью PHP (out?) загружать

В настоящее время я работаю на веб-странице, которая должна сделать следующее. В качестве небольшого фона мы работаем над загрузкой в базу данных группы данных, которые имеют приличный уровень пользовательских ошибок в форматировании ячеек.

Данные хранятся в электронных таблицах Excel. Электронные таблицы форматируются таким же образом (99,9% времени), но иногда в самих ячейках есть некоторые неустойчивые значения. Вот моя цель: я хотел бы, чтобы пользователь мог

1) предоставить файл excel на страницу

2) парсите файл с PHP, затем отправляйте вновь извлеченные данные в таблицу на странице с редактируемыми ячейками

3) пользователь может увидеть, что вышло из их файла, а затем исправить его для каких-либо незначительных ошибок, прежде чем выбрать, чтобы отправить извлеченные данные в базу данных.

Я могу выполнить шаги 2 и 3 с помощью PHPExcel с тестовым файлом, хранящимся на сервере, но у меня возникли проблемы с переходом от шага 1 к Шагу 2. Мое видение состоит в том, чтобы пользователь указывал электронную таблицу Excel и делал анализ, не выходя из текущей страницы и не теряя данные в полях. Я бы очень хотел сохранить страницу от изменения, так как на странице есть дополнительные текстовые поля, и мне на самом деле нужно разобрать две таблицы, прежде чем данные будут взяты из всех полей и отправлены в базу данных.

Я думаю, что мне интересно, есть ли способ использовать файл, предоставленный клиентом в PHP, не делая публикацию для загрузки. Или если есть способ загрузить файл и проанализировать его, не покидая страницу. Я новичок в веб-разработке, поэтому извините меня, если эти последние несколько предложений не имели абсолютно никакого смысла.

Есть мысли?

1 ответ

  1. PHP не может ничего сделать с файлом, пока он не будет загружен на сервер. Вы можете поместить форму загрузки файла в iframe и сделать некоторые вещи AJAX-y, как описано здесь .

    Что касается обработки загрузки файлов PHP, то в документах есть целый раздел .