PHP: Как я могу прочитать содержимое файла .XLS, не сохраняя его на сервере? - PullRequest
2 голосов
/ 09 июля 2009

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

Для этого проекта мне нужно иметь возможность выбрать файл .XLS, который содержит новые данные о продукте. Новые данные состоят из следующих полей:

Тип CHAR (3), Линия CHAR (2), Номер INT, Мера INT, Комментарии VARCHAR (255), Вариация CHAR (1), т.е. ('Y' || 'N')

Эти файлы создаются в Excel или Google Docs; Я нашел замечательный Excel_reader , который позволяет мне извлечь значения из этого файла.

Поскольку это действие, которое будет происходить регулярно при создании новых продуктов, я не хочу, чтобы файл сохранялся в моем каталоге на сервере (через некоторое время их будет десятки!). Я бы предпочел, чтобы файл просто читался, потому что сценарий импорта, который я пишу, переносит данные файла в массив.

Я действительно хочу, чтобы пользователь выбрал местоположение файла (на своем локальном компьютере) с помощью формы HTML, а затем попросил сценарий сохранить содержимое этого файла в базе данных MySQL, не отправляя файл на сервер. ,

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

Ответы [ 3 ]

7 голосов
/ 09 июля 2009

Это должно быть сохранено, по крайней мере, временно. Удалите файл после того, как у вас есть то, что вам нужно (предположительно, после перемещения его из временного каталога с помощью move_uploaded_file в папку, из которой вы будете его читать), затем удалите его с помощью unlink .

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

2 голосов
/ 09 июля 2009

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

0 голосов
/ 09 июля 2009

Я нашел ответ на свой вопрос здесь . Это хороший учебник по загрузке, перемещению, чтению и удалению файлов с использованием PHP.

Спасибо всем, кто внес свой вклад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...