Итак … У меня есть файл index.php, в котором я определил класс с именем ‘rectangles’. Этот класс имеет цвет и размер.
Я создал переменную с именем
$rectangle($rectangle=new rectangles('red',25);).
И да, я сделал
<link rel="stylesheet" type="text/css" href="test1.css" />
,
Затем я создал другой файл «test1.css», в котором я определил теги ‘div’ следующим образом:
div{
color:<?php echo $rectangle->color; ?>;
}
Я пытался положить в этот файл .css <?php include 'index.php'; ?>
но мои переменные из файла .php не будут работать, что бы я ни пытался.
Конечно, я попытался изменить test1.css на test1.php и попытаться это сделать, но он работает только с переменными, которые я установил в test1.php, а не из index.php.
Ну, я не знаю, хорошо ли я объяснил свою проблему, но надеюсь, вы понимаете …
Заранее спасибо.
То, что вы хотите сделать, очень распространено и делается каждый день в разработке CMS. Вы можете использовать SASS или LESS, вы можете включить стиль в качестве внутреннего CSS в ваши PHP-файлы, как ответил Родриго, или вы можете сделать это:
1) Добавьте это в свой заголовок:
<?php header("Content-type: text/css; charset: UTF-8"); ?>
2) в той же папке вашего файла, добавьте файл .htaccess с этим содержанием:
AddHandler application/x-httpd-php .css
2.b) Кроме того, вы можете установить свой конфигурационный файл Apache следующим образом:
AddType application/x-httpd-php .php .php3 .php4 .php5
AddType application/x-httpd-php-source .phps
AddHandler cgi-script .cgi .pl
Теперь вы можете быть счастливым туристом и добавлять переменные PHP в свои CSS-файлы.
Теперь комментарий: Я делаю это почти каждый день, и я использую метод в ответе Родриго, потому что я работаю для третьих лиц, в основном создавая настраиваемые темы, поэтому этот метод, хотя лучше, если вы контролируете свой сервер, не возможен если вы не знаете, кто получит тему. Я упоминаю это для тех, кто видит этот ответ, чтобы они могли обдумать плюсы и минусы
Вы можете сделать это, добавив свой стиль в ваш файл php. Итак, в вашем php или phtml файле вы можете сделать что-то вроде этого:
// php код
,
,
,
<head>
<style>
div{
color:<?php echo $rectangle->color; ?>;
}
</style>
</head>
Он не будет работать в файле с расширением .css.
Надеюсь, поможет.
Еще один способ:
<head>
<style>
<?php include 'style.css'; ?>
</style>
</head>
style.css
div{
color:<?php echo $rectangle->color; ?>;
}
Но в этом случае стиль не будет работать, если мы <link>
тег из-за php-кода на нем. Таким образом, мы также можем переименовать style.css в style.pcss или что-то в этом роде, чтобы избежать путаницы в том, что файл представляет собой встроенный CSS-файл CSS или PHP.