Выгрузка данных с файла (php)
Нужна помощь Встречал ссылки типа: site.ru/promo/3883 site.ru/promo/9594 В файлах "3883","9594" хранятся данные, которые затем присваиваются переменным в файле promo.php Как можно организовать подобную систему?
Ответы (2 шт):
Файлы "3883", "9594" должны иметь в себе примерно следующее:
<?php $vars = [ 'nameOfVar1' => 'valueOfVar1', 'nameOfVar2' => 123456789, 'nameOfVar3' => false ];Далее, в своем коде вы должны определить путь к целевому файлу и можете воспользоваться функцией extract, она разберет ваш массив и создаст из него переменные с именами, которые были в качестве ключей и их значениями.
Получится примерно следующее:
<?php
$path = $this->getPathToTargetFile();
require_once($path);
extract($vars);
var_dump($newOfVar2); // Отобразит значение (int) 123456789
Ссылки для ознакомления:
ссылки типа /promo/xxx с помощью .htaccess (если у вас апач) перенаправляются в ваш скрипт promo.php
RewriteRule ^/promo/(\d+) promo.php?pid=$1 [L]
в скрипте вы получаете $pid = $_GET['pid'];
потом на основании данного идентификатора вы строите путь к файлу, И инкулдите его, возвращая результат в переменную
$configFilename = WWW_ROOT . "/config/$pid.php"
if(file_exists($configFilename){
$config = include $configFileName;
}
print_r($config);
при этом ожидается, что в файле будет контент вида
<?php
return [
'param' => "value",
....
];
Если надо загрузить значения прям в переменные, то extract($config) в помощь.
Если конфиг этот у вас не пхп файл, а какой-нибудь txt, то читаете его аналогичным образом и потом разбираете как надо.