Я хотел бы иметь страницу, где вы можете установить различные вещи. Например: BoardName или Boardurl. В основном это для администраторов сайта. Но я хочу использовать, например, $ Boardname почти на каждой странице (например: у меня есть header.php и в моем коде:
включает в себя «variables.php»
Или что-то в этом регионе. Variables.php — это место, где хранятся переменные).
Теперь я слышал о глобальных переменных в PHP. Но я также слышал, что это вообще не рекомендуется (из-за времени загрузки). Тогда я услышал о хранении его в базе данных. Какое мое единственное решение, если это не даст мне ответ.
Для дополнительного примера: XenForo имеет опции, где Boardname и т. Д. Также получают в зависимости от ввода пользователя.
Заранее спасибо.
Я надеюсь, что я ясно дал понять
Я думаю, что вы в основном думаете о конфигурационном файле, чтобы вы могли получить что-то вроде этого:
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
}
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ
Этот метод очень подвержен ошибкам и плохо масштабируется ни в малейшей степени. Как только вы наберете более одного администратора, то сильно ударите по фанату. Если вы получаете тонны и тонны пользователей, то у вас наверняка могут возникнуть проблемы со скоростью доступа к диску.
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
На странице, где вы размещаете входные переменные, скажем 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';
Я надеюсь, что это лучшее решение для ваших нужд.