За последние 24 часа нас посетили 17593 программиста и 1723 робота. Сейчас ищут 927 программистов ...

php и css

Тема в разделе "Прочие вопросы по PHP", создана пользователем chippolino, 13 май 2010.

  1. chippolino

    chippolino Активный пользователь

    С нами с:
    22 апр 2010
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Mexico
    Помогите разобраться почему не работает:


    Подключаем стили:

    <link rel="stylesheet" href="style.php" media="screen, projection"/>



    style.php:

    <?php
    // Отдаём верный content-type
    header("Content-type: text/css");

    $link_color = '#00f';
    $link_font_size = '20px';
    ?>

    p {
    color: <?php $link_color?>;
    font-size: <?php $link_font_size?>;
    }



    На выходе получим:


    p {
    color: #00f;
    font-size: 20px;
    }



    при обработке style.php пишет
    Warning: Cannot modify header information - headers already sent by (output started at C:\\...\htdocs\\style.php:2)

    PS: и почему если css файл сделать исполняемым то тоже работать не будет???
     
  2. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    chippolino
    Аватарку на фото смените или удалите.
     
  3. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    phpfaq.ru/na_tanke
     
  4. neldalv

    neldalv Активный пользователь

    С нами с:
    5 май 2010
    Сообщения:
    9
    Симпатии:
    0
    Хм, у меня работает при таком раскладе. Вероятно, от настроек зависит.
    Могу предложить попробовать убрать комментарий из второй строки.

    PHP:
    1. <?php
    2. header("Content-type: text/css");
    3. $link_color = '#00f';
    4. $link_font_size = '20px';
    5. ?>
    6. p {
    7. color: <?php echo $link_color;?>;
    8. font-size: <?php echo $link_font_size;?>;
    9. }
     
  5. chippolino

    chippolino Активный пользователь

    С нами с:
    22 апр 2010
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Mexico
    Заработало!
    Проблема крылась в кодировке:
    перекодировал из utf-8 в utf-8 without BOM и вуаля -
    наконец-то я могу использовать все прелести php внутри псевдо css файла style.css.php:
    PHP:
    1.  
    2. <?php header('content-type:text/css');?>
    3. @charset"utf-8";
    4.  
    5. <?php /*********************************** main */?>
    6. * {
    7.     margin:0;
    8.     padding:0;
    9. }
    10. body {
    11.     background:#eee;
    12. }
    13. <?php /************************************* iframe header */?>
    14. #header {
    15.     width:100%;
    16.     height:100px;
    17. }
    18. h1 {
    19.     color:#f00;
    20. }
    21. <?php /*********************************** special CSS for IE */
    22. $browser=array('firefox','opera','IE','chrome','safari');
    23. foreach($browser as $v){if(eregi($v,$_SERVER['HTTP_USER_AGENT'])){
    24. if($v=='chrome')break;
    25. if($v=='IE'){?>        
    26. #a{
    27.     color:#f00;/* only for IE */
    28. }
    29.            
    30. <?php }}}?>
     
  6. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Бгг, такого выплеска говна я ещё не видывал.
     
  7. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    это что? динамический генерируемый css? oO
     
  8. chippolino

    chippolino Активный пользователь

    С нами с:
    22 апр 2010
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Mexico
    Вроде того или динамический генерируемый
    как говорит Apple)))