У меня есть сайт на основе PHP, на котором мы разрешаем пользователям загружать текстовый файл данных, разделенных запятыми, для импорта некоторыми скриптами на стороне сервера. Однако иногда нам нужно настроить порядок столбцов загружаемых данных, и было бы очень полезно, если бы мы могли идентифицировать столбцы в файле CSV до, в котором происходит загрузка.
Единственный способ получить доступ к вводу-выводу локальных файлов, который я могу придумать, - это использовать плагин Java или встроенный Flash-скрипт, и я бы предпочел последний. Есть ли способ во Flash выбрать текстовый файл на локальном жестком диске, а затем использовать ActionScript для проверки Только первой строки (которая соответствует заголовкам столбцов в этом примере)?
Иногда эти файлы могут быть> 100 МБ, поэтому загрузка всего этого в память и последующее удаление всех, кроме первой строки, вероятно, не будет работать эффективно, поэтому мне интересно, есть ли в ActionScript синтаксис, ограничивающий объем считываемых данных. вовремя.
![[UX] Категории и настройки внешнего вида Flash-сообщений](https://i.imgur.com/5LZljB8b.jpeg)
У Flash-роликов нет доступа к локальной файловой системе, за исключением загрузки файла на сервер.
Думаю, у вас есть следующие варианты:
Текущая версия Flash-плеера может только выбрать файл для загрузки на сервер, при этом вся обработка должна выполняться на стороне сервера. Однако следующая версия плеера, Вспышка 10, может читать локальные файлы без обращения к серверу.
Я сам (пока) не использовал эту функцию, поэтому я не уверен, можно ли прочитать только часть файла, но это становится меньшей проблемой, если все локально.
Flash 10 в настоящее время находится на стадии предварительной бета-версии, но я думаю, что скоро она будет выпущена.
Обновлено: Вскоре действительно только что увидел это в моей программе чтения каналов
Текущая версия Flash Player 10 (выпущенная всего 2 дня назад) позволяет вам получить доступ к локальным файлам. Вы можете найти здесь пример:
http://www.mikechambers.com/blog/2008/08/20/reading-and-writing-local-files-in-flash-player-10/
Однако вам нужно загрузить весь файл.
Если вы используете SWF, работающий в Adobe AIR, вы можете прочитать только первую строку (в нем есть более продвинутые файловые API).
Лучшее решение, вероятно, - создать PHP API, который возвращает только первую строку данных.
Майк Чемберс
Я вообще не хочу вовлекать в это PHP. Я буду загружать файл в PHP в любом случае, но я хотел, чтобы на стороне клиента обрабатывалась только первая строка данных до фактической загрузки, потому что иногда файлы могут быть довольно большими.