Каков наилучший способ сохранить введенные пользователем переменные на php без базы данных?

Я хотел бы иметь страницу, где вы можете установить различные вещи. Например: BoardName или Boardurl. В основном это для администраторов сайта. Но я хочу использовать, например, $ Boardname почти на каждой странице (например: у меня есть header.php и в моем коде:

включает в себя «variables.php»

Или что-то в этом регионе. Variables.php — это место, где хранятся переменные).

Теперь я слышал о глобальных переменных в PHP. Но я также слышал, что это вообще не рекомендуется (из-за времени загрузки). Тогда я услышал о хранении его в базе данных. Какое мое единственное решение, если это не даст мне ответ.

Для дополнительного примера: XenForo имеет опции, где Boardname и т. Д. Также получают в зависимости от ввода пользователя.

Заранее спасибо.
Я надеюсь, что я ясно дал понять

-1

Решение

Я думаю, что вы в основном думаете о конфигурационном файле, чтобы вы могли получить что-то вроде этого:

config.txt JSON-кодированный объект / массив

{"BoardName":"a board name","Boardurl":"a board url"}

Поместите этот код в начало всех файлов, которым нужны переменные

extract((array)json_decode(file_get_contents('config.txt')));

Это позволит вам использовать $BoardName а также $Boardurl где угодно


Когда вам нужно записать обратно в файл, сделайте это:

$new_conf = array();
if(isset($_POST['BoardName']))
{
$new_conf['BoardName'] = $_POST['BoardName'];
}
if(isset($_POST['Boardurl']))
{
$new_conf['Boardurl'] = $_POST['Boardurl'];
}

if($new_conf)
{
file_put_contents('config.txt', json_encode(array_merge((array)json_decode(file_get_contents('config.txt')), $new_conf)));
}
else
{
// no conf parameters given, do nothing
}

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

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

0

Другие решения

Create your custom ini file, let's say user.ini file.

Inside this user ini file mention all variables.

user.ini sample content
; This is a sample configuration file

; Comments start with ';', as in php.ini

[settings]
cust_file_size= 12MB
error_log_path= "log/debug/"
[path_settings]
path = "/usr/local/bin"URL = "http://www.example.com/~username"

than for reading you can just do
$user_settings_array = parse_ini_file("user.ini", true);
print_r($ini_array);

Than output will:

Array
(
[settings] => Array
(
[cust_file_size] =>12MB
[error_log_path] =>log/debug/
)
[path_settings] =>Array
(    [path] =>/usr/local/bin
[URL]  =>http://www.example.com/~username
}I hope this will help you.

Thanks
-1

На странице, где вы размещаете входные переменные, скажем input.php. Используйте следующий код. И помните следующие пункты, чтобы сделать это.

  • $content переменная снабжается всеми необходимыми переменными php с использованием конкатенации.
  • Не забудьте включить <?php а также ?> в начале и в конце $content переменная.
  • \ избегать знака доллара является обязательным, который выглядит как \$, используется для создания новой переменной во внешнем файле.
  • использование {} окружая переменные, а также поставить точку с запятой ; сопровождаемый пробелом , Это пустое место имеет большое значение. И попробуйте включить один в каждом возможном случае.
  • Наконец, используйте одинарные кавычки, окружающие переменную '{}', Даже если это номер. Потому что, как вы знаете, переменные PHP анализируются автоматически.

Код в input.php выглядит так:

$content = "<?php ";
$content .= "\$Boardname='{$_POST['Boardname']}'; ";
$content .= "\$BoardUrl='{$_POST['BoardUrl']}'; ";
$content .= "?>";
file_put_contents("variables.php", $content);

И тогда вы можете использовать variables.php так просто, как указано ниже:

include 'variables.php';

Я надеюсь, что это лучшее решение для ваших нужд.

-1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector