PHP – хранить информацию без базы данных NO

Я собираюсь улучшить веб-сайт в Apache и PHP, у которого есть страница со таблицей, содержащей список файлов. Моя цель – позволить пользователю установить один из этих файлов как «важный», основанный на некоторых конкретных и субъективных критериях. Для этого я хочу каким-то образом сохранить информацию о самом «важном» файле, с ограничением на то, что я не могу использовать ни базы данных, ни файлы ( ограничения, наложенные супервизором ).

Мои вопросы:

  • Является ли это возможным?
  • Как я могу это сделать?

Я уже делал поиск на этом сайте, но я не нашел ответа.

EDIT: Кстати, я решил проблему, используя XML-файл. Большое спасибо всем.

Предполагая, что эти критерии являются клиентскими, а не серверными, потому что, если они являются серверными, и это должен быть один «важный» файл для всех пользователей, тогда нет никакого способа сделать это без хранения.

Предполагаемый ответ на ваше решение – localStorage () …

Это зависит от Javascript и, безусловно, не является идеальным решением, но HTML5 localStorage позволяет сохранять предпочтения на компьютерах пользователей.

Сначала обнаружите поддержку localStorage ():

if (Modernizr.localstorage) { // with Modernizr if (typeof(localStorage) != 'undefined' ) { // Without Modernizr 

Затем установите параметр, если он поддерживается:

 localStorage.setItem("somePreference", "Some Value"); 

А потом вытащите его, если ваш пользователь не очистил локальное хранилище:

 var somePreference = localStorage.getItem("somePreference"); 

Если вы хотите очистить его, просто используйте:

 localStorage.removeItem("somePreference"); 

Для тех, кто использует неподдерживаемые (более старые) браузеры, вы можете использовать локальные хаки для хранения, злоупотребляющие Flash LSOs, но они определенно не идеальны.

Как насчет сеансов или файлов cookie?

Оба они преднамеренно являются временными формами хранения. Даже Flash LSOs лучше, чем файлы cookie для длительного хранения.

Ограничение буквально ободряет плохую практику …

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

Лучший способ хранения таких данных – в базе данных. Если вы не можете запустить службу базы данных, вы можете использовать SQLite или хранить данные в файлах JSON или XML.

Куки-файлы могут быть полезны. Я не могу придумать какой-либо другой безопасный способ. Это тоже не слишком изящно.

http://support.mozilla.org/en-US/kb/cookies-information-websites-store-on-your-computer

Вы можете временно сохранять данные, используя сеансы и файлы cookie. Они не требуют файлов или базы данных; Однако, как уже упоминалось, это временно, потому что данные исчезли, когда браузер закрыт или файл cookie истекает.
Если вам говорят постоянно сохранять данные без использования файлов или базы данных, ваш супервизор уже настроил вас на сбой.

Надеюсь это поможет.

Единственные варианты, которые я могу увидеть, – либо использовать файлы cookie (которые не являются постоянными и хранятся как файлы на клиенте).

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

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

Вы можете попробовать использовать файл cookie для хранения данных

Чтобы установить имя файла, используйте:

  <?php setcookie("important", $importantFileName); ?> 

Чтобы прочитать данные, используйте:

  <?php $importantFileName = $_COOKIE["important"]; ?> 

Но это будет работать только для текущего пользователя, а другие пользователи не смогут это просмотреть.