PHP - Дынамічныя старонкі - Выкарыстоўваць асобныя файлы CSS для кожнай дынамічнай старонкі

Ці можна назваць іншы файл CSS у залежнасці ад якіх дынамічнай старонкі вы на?

For example if you start at index.php -> You then click a link that refers to index.php?p=apple

Калі ў вас ёсць файл CSS пад назвай index.css, які спецыфічны да index.php, можа ў вас ёсць файл CSS, які overides index.css ў тым выпадку, калі index.php? Р = адкрыты яблык?

Калі няма ніякага рашэння, я магу проста перапісаць свой файл CSS, каб змясціць усе дынамічныя старонкі.

<�Моцнага> UPDATE: Ніжэй некаторыя экстракты з майго кода .

Заўвага: на старонцы something.inc.php знайсці спасылку на index.php р = яблык?

<head>  
    <link href="css/index.css" rel="stylesheet" type="text/css" media="screen" />
</head> 

<?php
$pages_dir = 'pages';

if (!empty($_GET['p'])) {
    $pages = scandir($pages_dir, 0); 
    unset($pages[0], $pages[1]);

    $p = $_GET['p']; 

    if (in_array($p.'.inc.php', $pages)) {
        include ($pages_dir.'/'.$p.'.inc.php'); 
    } else {
        echo 'Sorry, page not found'; 
    }

} else {
    include($pages_dir.'/something.inc.php');
}

?>

UPDATE 2: Used the solution marked as answer, and it's all working well. Thanks everyone for the help!

0
Вядома, гэта магчыма - але для сярэднестатыстычнага сайта, я думаю, што гэта можа быць вельмі непрадуктыўным, так як з асобным CSS рэсурсам для кожнай асобнай старонкі вы марнуеце магчымасць кэшаванне вашага CSS пасля першай старонкі нагрузка ...
дададзена аўтар CBroe, крыніца
Хммм. Мяркуючы па ўсім, я думаю, што мне патрэбна спасылка ў галаве, каб мяняцца ў залежнасці ад таго, што значэнне р роўна. Ці магу я выкарыстаць нешта накшталт гэтага? калі ($ _ GET [ 'р'] == 'яблык') {рэха '<�спасылка .....>'; } Яшчэ {.....}
дададзена аўтар CMichael, крыніца
Хммм. Мяркуючы па ўсім, я думаю, што мне патрэбна спасылка ў галаве, каб мяняцца ў залежнасці ад таго, што значэнне р роўна. Ці магу я выкарыстаць нешта накшталт гэтага? калі ($ _ GET [ 'р'] == 'яблык') {рэха '<�спасылка .....>'; } Яшчэ {.....}
дададзена аўтар CMichael, крыніца

10 адказы

$link = (isset($_GET['p']))? $_GET['p'] : 'index';
if(file_exists(PATH_TO_CSS_FILES.$link."css")){
  echo "<link src='$link.css' media='all' rel='stylesheet' type='text/css'>";
} else {
  echo "<link src='index.css' media='all' rel='stylesheet' type='text/css'>";
}
1
дададзена
@StefanDunn - Калі б я мог downvote каментар, я б. Шкодныя парады.
дададзена аўтар webnoob, крыніца
проста адключыць апавяшчэння XD фіксаваны адказ
дададзена аўтар Stefan Dunn, крыніца
-1: page.php р = ' выкліча памылку на гэтай старонцы. ніколі не давяраць карыстацкага ўводу!
дададзена аўтар k102, крыніца
У рэшце рэшт, у Вас ёсць памылка ў вашым HTML ...
дададзена аўтар k102, крыніца
і з дапамогай кнопак $ _ GET [ 'р'] без 'Исеть' будзе выклікаць Заўвага: Undefined індэкс: р .
дададзена аўтар k102, крыніца
Я скончыў з выкарыстаннем рашэння я пазначанае як адказ. Не ведаю, калі гэта лепшае рашэнне, але гэта вызначана працуе для мяне. Дзякуй усім за вашу дапамогу!
дададзена аўтар CMichael, крыніца
$link = (isset($_GET['p']))? $_GET['p'] : 'index';
if(file_exists(PATH_TO_CSS_FILES.$link."css")){
  echo "<link src='$link.css' media='all' rel='stylesheet' type='text/css'>";
} else {
  echo "<link src='index.css' media='all' rel='stylesheet' type='text/css'>";
}
1
дададзена
@StefanDunn - Калі б я мог downvote каментар, я б. Шкодныя парады.
дададзена аўтар webnoob, крыніца
проста адключыць апавяшчэння XD фіксаваны адказ
дададзена аўтар Stefan Dunn, крыніца
У рэшце рэшт, у Вас ёсць памылка ў вашым HTML ...
дададзена аўтар k102, крыніца
-1: page.php р = ' выкліча памылку на гэтай старонцы. ніколі не давяраць карыстацкага ўводу!
дададзена аўтар k102, крыніца
і з дапамогай кнопак $ _ GET [ 'р'] без 'Исеть' будзе выклікаць Заўвага: Undefined індэкс: р .
дададзена аўтар k102, крыніца
Я скончыў з выкарыстаннем рашэння я пазначанае як адказ. Не ведаю, калі гэта лепшае рашэнне, але гэта вызначана працуе для мяне. Дзякуй усім за вашу дапамогу!
дададзена аўтар CMichael, крыніца

можа быць ...

$page = (isset($_GET['p'])) ? $_GET['p'] : false;
if ($page){
    $css = '';
    switch ($page) {
        case 'apple':
        $css = 'apple.css';
        break;
        //other options here
    }
//link to $css
}

І памятайце, каб выкарыстоўваць Важна! ва ўсіх стылях, накіраваных перавызначыць арыгінал.

0
дададзена

можа быць ...

$page = (isset($_GET['p'])) ? $_GET['p'] : false;
if ($page){
    $css = '';
    switch ($page) {
        case 'apple':
        $css = 'apple.css';
        break;
        //other options here
    }
//link to $css
}

І памятайце, каб выкарыстоўваць Важна! ва ўсіх стылях, накіраваных перавызначыць арыгінал.

0
дададзена

можа быць ...

$page = (isset($_GET['p'])) ? $_GET['p'] : false;
if ($page){
    $css = '';
    switch ($page) {
        case 'apple':
        $css = 'apple.css';
        break;
        //other options here
    }
//link to $css
}

І памятайце, каб выкарыстоўваць Важна! ва ўсіх стылях, накіраваных перавызначыць арыгінал.

0
дададзена

Адзін са спосабаў я думаю, што вы можаце стварыць спасылку CSS дынамічна на аснове радкі запыту. Вы можаце мець асобны PHP-файл, які будзе выступаць у якасці дапаможнага файла, і вы можаце ўключаць ва ўсіх старонках.

         if($_GET['p'] == 'a')
         {
                 echo LINK OF NEW CSS File
         } 
         else
         {
             echo Link of another CSS
         }
0
дададзена

Адзін са спосабаў я думаю, што вы можаце стварыць спасылку CSS дынамічна на аснове радкі запыту. Вы можаце мець асобны PHP-файл, які будзе выступаць у якасці дапаможнага файла, і вы можаце ўключаць ва ўсіх старонках.

         if($_GET['p'] == 'a')
         {
                 echo LINK OF NEW CSS File
         } 
         else
         {
             echo Link of another CSS
         }
0
дададзена

Адзін са спосабаў я думаю, што вы можаце стварыць спасылку CSS дынамічна на аснове радкі запыту. Вы можаце мець асобны PHP-файл, які будзе выступаць у якасці дапаможнага файла, і вы можаце ўключаць ва ўсіх старонках.

         if($_GET['p'] == 'a')
         {
                 echo LINK OF NEW CSS File
         } 
         else
         {
             echo Link of another CSS
         }
0
дададзена

If your url are index.php?p=apple or index.php?p=orange

тады

if($_GET['p'] == 'apple')
{
   echo '<link href="css/apple.css" type="text/css" rel="stylesheet">';
} 
elseif($_GET['p'] == 'orange')
{
   echo '<link href="css/orange.css" type="text/css" rel="stylesheet">';
}

If your url are index.php or product.php

тады

$file = basename($_SERVER['REQUEST_URI']);
if($file == 'index.php')
{
   echo '<link href="css/apple.css" type="text/css" rel="stylesheet">';
} 
elseif($file == 'product.php')
{
   echo '<link href="css/orange.css" type="text/css" rel="stylesheet">';
}
0
дададзена
Вялікі дзякуй! Выпрабавана гэта і гэта спрацавала. Не ўпэўнены, калі гэта лепшы спосаб пайсці, але гэта працуе, і гэта ўсё, што мне трэба зараз!
дададзена аўтар CMichael, крыніца
Калі ласка!!
дададзена аўтар Amit Sukapure, крыніца

If your url are index.php?p=apple or index.php?p=orange

тады

if($_GET['p'] == 'apple')
{
   echo '<link href="css/apple.css" type="text/css" rel="stylesheet">';
} 
elseif($_GET['p'] == 'orange')
{
   echo '<link href="css/orange.css" type="text/css" rel="stylesheet">';
}

If your url are index.php or product.php

тады

$file = basename($_SERVER['REQUEST_URI']);
if($file == 'index.php')
{
   echo '<link href="css/apple.css" type="text/css" rel="stylesheet">';
} 
elseif($file == 'product.php')
{
   echo '<link href="css/orange.css" type="text/css" rel="stylesheet">';
}
0
дададзена
Вялікі дзякуй! Выпрабавана гэта і гэта спрацавала. Не ўпэўнены, калі гэта лепшы спосаб пайсці, але гэта працуе, і гэта ўсё, што мне трэба зараз!
дададзена аўтар CMichael, крыніца
Калі ласка!!
дададзена аўтар Amit Sukapure, крыніца