У меня есть домашняя страница, где у меня есть ряд переменных, таких как номер телефона, время открытия и т. Д., И я не могу думать о способе хранения нескольких переменных навсегда, кроме как в базе данных, и я не хочу составлять таблицу только для хранения 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']
Есть много способов:
JSON
$data = json_decode(file_get_contents('config.json'), true);
Собственная сериализация PHP
$data = unserialize(file_get_contents('config.bin'));
Файлы INI
$data = parse_ini_file('config.ini');
PHP-файлы
$data = require 'config.php'; // config.php <?php return ['foo' => 'bar'];
XML-файлы, форматированные текстовые файлы и т. Д.
Каждый вариант имеет свои особенности, а сериализация на родном языке имеет наихудший возможный формат для редактирования вручную. Если производительность важна, и вы выбрали формат, требующий значительного разбора, вам нужно иметь слой кеширования, чтобы упростить время синтаксического анализа.
Примечание . Если вы пишете и читаете данные из PHP, вам также нужно беспокоиться о блокировке файлов .