Выгрузка данных с файла (php)

Нужна помощь Встречал ссылки типа: site.ru/promo/3883 site.ru/promo/9594 В файлах "3883","9594" хранятся данные, которые затем присваиваются переменным в файле promo.php Как можно организовать подобную систему?


Ответы (2 шт):

Автор решения: Borislav
  1. Файлы "3883", "9594" должны иметь в себе примерно следующее:

    <?php
    
    $vars = [
        'nameOfVar1' => 'valueOfVar1',
        'nameOfVar2' => 123456789,
        'nameOfVar3' => false
    ];
    
  2. Далее, в своем коде вы должны определить путь к целевому файлу и можете воспользоваться функцией extract, она разберет ваш массив и создаст из него переменные с именами, которые были в качестве ключей и их значениями.

Получится примерно следующее:

<?php

$path = $this->getPathToTargetFile();

require_once($path);

extract($vars);

var_dump($newOfVar2); // Отобразит значение (int) 123456789

Ссылки для ознакомления:

  1. include
  2. extract
→ Ссылка
Автор решения: teran

ссылки типа /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, то читаете его аналогичным образом и потом разбираете как надо.

→ Ссылка