Сохранение свойств страницы без базы данных

У меня есть домашняя страница, где у меня есть ряд переменных, таких как номер телефона, время открытия и т. Д., И я не могу думать о способе хранения нескольких переменных навсегда, кроме как в базе данных, и я не хочу составлять таблицу только для хранения 1 строки ценность свойств. Я думал, возможно, используя текстовый файл, но я действительно не знаю.

Вы можете использовать PHP require_once если вы должны хранить информацию о странице в другом файле PHP в качестве переменных.

Это будет действовать как база данных (вроде).

Если это ваш PHP-файл с вашими переменными (назовем его a.php ):

 <?php $phoneNumber = "1234 5678"; $openTimes = "09:00-17:00"; ?> 

Вы должны использовать require_once("/a.php"); использовать переменные в файле и использовать их следующим образом:

 <?php require_once("/a.php"); echo "Phone Number: " . $phoneNumber; ?> 

require_onceчрезвычайно полезная функция PHP и может использоваться для многих целей.

Потенциальные примеры использования require_once :

  • Поддержание заголовка на всем веб-сайте только из одного файла header PHP
  • Подключение к базе данных, где файл require_once находится в защищенной непубличной зоне вашего сайта (снижает вероятность того, что кто-то «захватит» вашу базу данных)
  • Хранение легко изменяемых переменных, где база данных не требуется.

Это именно то, для чего созданы решения CMS, такие как Joomla. Как только вы начнете спускать этот маршрут с любым приличным количеством данных, вы, вероятно, захотите начать смотреть на что-то подобное.

Однако, если вы действительно этого хотите, вы можете пойти по пути сериализации, что хотите сохранить и поместить в текстовый файл.

Например, установив его:

 $configuration = array( 'PhoneNumber' => '123456789', 'OpenTimes' => 'Monday 9:00 to 12:00' ); file_put_contents( 'configuration.txt', serialize( $configuration ); 

Возвращение:

 $configuration = unserialize( file_get_contents( 'configuration.txt' ) ); 

Файл может содержать много чего угодно – строку или объекты или что угодно. Просто имейте в виду, что если вы храните объекты, вам нужно будет убедиться, что вам может понадобиться включить их определение класса перед повторной загрузкой. И если вы храните ресурс (например, соединение с БД – я знаю, маловероятно!), Вам нужно будет снова подключить или снова открыть ресурс.

Альтернативно – если это действительно просто серия простых строк, вы можете посмотреть на ini файлы.

http://php.net/manual/en/function.parse-ini-file.php

Допустим, у вас есть файл configuration.ini с содержимым:

 [address_info] phone_number = 123456789 open_times = Monday 9:00 to 12:00 

Затем вы можете загрузить его с помощью:

 $configuration = parse_ini_file("configuration.ini", true); 

И затем ссылка с:

 $configuration['address_info']['phone_number'] 

Есть много способов:

  1. JSON

     $data = json_decode(file_get_contents('config.json'), true); 
  2. Собственная сериализация PHP

     $data = unserialize(file_get_contents('config.bin')); 
  3. Файлы INI

     $data = parse_ini_file('config.ini'); 
  4. PHP-файлы

     $data = require 'config.php'; // config.php <?php return ['foo' => 'bar']; 
  5. XML-файлы, форматированные текстовые файлы и т. Д.

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

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