LINUX.ORG.RU

История изменений

Исправление user_id_68054, (текущая версия) :

ну примерно так:

global $path;
global $path_parts;

$path = isset($_SERVER['REDIRECT_URL'])?$_SERVER['REDIRECT_URL']:'';
$path_parts = explode('/', $path);

// ... блаблабла ...
// ... блаблабла ...
// ... блаблабла ...


if ($path == '/catalog' ||
        mb_substr($path, 0, mb_strlen('/catalog/')) == '/catalog/') {
  
  $cat = $path_parts[1];
  $subcat = $path_parts[2];
  
  include __DIR__.'/catalog.php';
  return;
  
  // внутри файла catalog.php -- уже смотри переменные $cat и $subcat
}

// ... блаблабла ...
// ... блаблабла ...
// ... блаблабла ...

а вообще, товарищ deep-purple — нормально предложил тут (выше) — ЧПУ на PHP (комментарий) .

вполне поддерживаю это решение (я сам так ранше сделал в пару местах, как у deep-purple в примере.. но потом решил отказаться от этого способа).

главное остерегаться PHP-инъекций (в его способе).. (конкретно у deep-purple в примере PHP-инъекций *нет*, но ты главное их не добавь туда случайно, так как вот это require_once $fileName; — очень опасное место)

Исправление user_id_68054, :

ну примерно так:

global $path;
global $path_parts;

$path = isset($_SERVER['REDIRECT_URL'])?$_SERVER['REDIRECT_URL']:'';
$path_parts = explode('/', $path);

// ... блаблабла ...
// ... блаблабла ...
// ... блаблабла ...


if ($path == '/catalog' ||
        mb_substr($path, 0, mb_strlen('/catalog/')) == '/catalog/') {
  
  $cat = $path_parts[1];
  $subcat = $path_parts[2];
  
  include __DIR__.'/catalog.php';
  return;
  
  // внутри файла catalog.php -- уже смотри переменные $cat и $subcat
}

// ... блаблабла ...
// ... блаблабла ...
// ... блаблабла ...

а вообще — deep-purple — нормально предложил тут (выше) товарищ — ЧПУ на PHP (комментарий) .

вполне поддерживаю это решение (я сам так ранше сделал в пару местах, как у deep-purple в примере.. но потом решил отказаться от этого способа).

главное остерегаться PHP-инъекций (в его способе).. (конкретно у deep-purple в примере PHP-инъекций *нет*, но ты главное их не добавь туда случайно, так как вот это require_once $fileName; — очень опасное место)

Исходная версия user_id_68054, :

ну приверно так:

global $path;
global $path_parts;

$path = isset($_SERVER['REDIRECT_URL'])?$_SERVER['REDIRECT_URL']:'';
$path_parts = explode('/', $path);

// ... блаблабла ...
// ... блаблабла ...
// ... блаблабла ...


if ($path == '/catalog' ||
        mb_substr($path, 0, mb_strlen('/catalog/')) == '/catalog/') {
  
  $cat = $path_parts[1];
  $subcat = $path_parts[2];
  
  include __DIR__.'/catalog.php';
  return;
  
  // внутри файла catalog.php -- уже смотри переменные $cat и $subcat
}

// ... блаблабла ...
// ... блаблабла ...
// ... блаблабла ...

а вообще — deep-purple — нормально предложил тут (выше) товарищ — ЧПУ на PHP (комментарий) .

вполне поддерживаю это решение (я сам так ранше сделал в пару местах, как у deep-purple в примере.. но потом решил отказаться от этого способа).

главное остерегаться PHP-инъекций (в его способе).. (конкретно у deep-purple в примере PHP-инъекций *нет*, но ты главное их не добавь туда случайно, так как вот это require_once $fileName; — очень опасное месо)