Как правильно работать с загруженным на сервер файлом?
Здравствуйте! Ситуация такая: после загрузки файла менеджер должен установить соответствие между заголовками загруженного файла и наименованиями столбцов из бд. После загрузки я спарсил заголовки файла и вывел их для установления соответствия. Подскажите, как передать этот загруженный файл по нажатию кнопки в соответствующий метод контроллера, так как после установления соответствия массив $_FILES уже пуст. Заранее спасибо!
>После загрузки я спарсил заголовки файла и вывел их для установления соответствия
>после установления соответствия массив $_FILES уже пуст
Как это возможно?
Если у тебя редиректы идут между контроллерами, то сохраняй файл (там где спарсил заголовки) куда-то во временную папку, в сессию добавляй путь на файл и уже в конечной точке вытаскивай путь к файлу из сессии
Если дать себе труд прочитать задачу, а не выцеплять из неё искусственным интеллектом пару ключевых слов, то станет ясно, что речь не про НТТР заголовки, а про "заголовки" колонок в csv файле. И задача требует интерактивного взаимодействия с пользователем.
На время которого, как ты совершенно справедливо заметил, файл надо где-то прикопать. Поскольку между реквестами он не сохраняется.
cyberlog, да, я имел ввиду именно заголовки колонок xls-файла, чтоб выставить их в нужном порядке нужно загрузить файл и пользователь их расставляет, и уже тогда при нажатии на "отправить" этого файла загруженного уже нет в массиве
xls-файла, чтоб выставить их в нужном порядке нужно загрузить файл и пользователь их расставляет
Т. е. вы содержимое файла выводите на фронт, чтобы расставить колонки в нужном порядке. Соответственно вы должны сохранить этот порядок. Иначе говоря - вы редактируете файл. А если в этом файле два листа?
Причём тут вообще теперь загруженный файл?
У вас теперь данные с фронта нужно сохранить.
PS:
А вообще, глупо грузить Excel файл для того, чтобы его редактировать. Имхо.