2015-02-10 2 views
0

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

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

Как я это делаю сейчас, я добавил тэг загрузки файла, чтобы пользователь мог выбрать файл JSON для чтения. У меня нет выбора, кроме как выполнять загрузку файлов, поскольку я не вижу других способов, но я бы предпочел не загружать эти файлы на сервер, мне просто нужно прочитать содержимое. В любом случае, после загрузки файла и чтения содержимого в переменную, я должен хранить эти файлы в базе данных MySql, чтобы я мог сортировать их по дате, я должен иметь возможность отображать таблицу, отсортированную по дате.

У меня есть 2 вопроса;

  • Есть ли другой способ прочитать содержимое текстового файла без загрузки файла для чтения?
  • Есть ли какой-то простой способ сортировки массива (по дате)?
+0

Возможный дубликат [PHP порядка массива по дате?] (Http://stackoverflow.com/questions/6401714/php-order-array-by-date) – Voycey

+0

'uasort()' для сортировки. Загрузите файл в '/ tmp', и ваша ОС очистит его автоматически - или используйте API-интерфейс pastebin и' file_get_contents' (в зависимости от информации, хранящейся в этих файлах). Хотя, я считаю, этот вопрос оффтопик для упрямых ответов. –

+4

Я получаю это правильно, после __months__ исследования лучше всего было бы сохранить массивы на mySQL, чтобы вы могли заказать их по дате при запросе? Вы не наткнулись на uasort() и аналогичные функции в свои месяцы исследований? – Sejanus

ответ

3

1) Вы можете прочитать файл на локальных компьютерах пользователей, но это должно быть сделано с использованием JavaScript и имеет множество ограничений. http://dev.w3.org/2006/webapi/FileAPI/

Я бы порекомендовал загрузку файла в любом случае, сделайте то, что вы хотите, а затем удалите файл (unlink()).

2) PHP order array by date?

0

Почему не хранить данные в формате JSON непосредственно в базу данных? Вы не загружаете файл (просто введите sql-вставку), вы можете добавить дату и отсортировать ее ...

1

1) Существует способ чтения файлов с помощью Javascript File Reader. Может быть, вы найдете this link полезным. Если вы не хотите использовать Javascript, тогда файл должен быть загружен на сервер, прежде чем читать его. Вы можете загрузить его во временное место и удалить его после прочтения содержимого.

2) Помимо идей, приведенных в других ответах, вы можете взглянуть на функцию PHP array_multisort.

Смежные вопросы