web-dev-qa-db-fra.com

Comment importer/inclure un fichier CSS en utilisant PHP code et pas le code HTML?

J'ai beaucoup cherché sur Google mais il semble que je fasse quelque chose de mal.

Je veux faire ça:

<?php
include 'header.php';
include'CSS/main.css';
...
?>

Cependant, ma page affiche le code CSS. 

Remarque: je souhaite utiliser PHP pour inclure le fichier CSS, sans utiliser Je souhaite également renommer mon fichier CSS en un fichier PHP comme mentionné sur certains sites Web. 

Des indices?

Merci beaucoup.

25
Shailen TJ

Vous devez entourer le CSS avec une balise <style>:

<?php include 'header.php'; ?>
<style>
<?php include 'CSS/main.css'; ?>
</style>
...

PHP include fonctionne bien avec .css se terminant aussi. De cette façon, vous pouvez même utiliser PHP dans votre fichier CSS. Cela peut être très utile pour organiser par exemple couleurs comme variables.

51
flori

Vous incluez le code CSS sous forme de texte dans votre page PHP. Pourquoi ne pas simplement le lier de la manière traditionnelle?

<link rel="stylesheet" href="CSS/main.css" type="text/css">
38
Flash

vous pouvez utiliser:

<?php
$css = file_get_contents('CSS/main.css');
echo $css;
?>

et en supposant que le fichier css ne l’ait pas déjà, enveloppez-le dans:

<style type="text/css">
...
</style>
8
ldg

Pour utiliser "include" pour inclure CSS, vous devez dire PHP que vous utilisez du code CSS. Ajoutez ceci à votre en-tête de votre fichier CSS et faites-le main.php (ou styles.css, ou autre chose):

header("Content-type: text/css; charset: UTF-8");

Cette peut aider avec les connexions de certains utilisateurs, mais théoriquement (lire: je ne l’ai pas testé) ajoute de la charge processeur à votre serveur et selon Steve Souder, parce que votre ordinateur peut télécharger plusieurs fichiers à la fois, l’utilisation de include pourrait être plus lent. Si vous avez votre CSS divisé en une douzaine de fichiers, peut-être que ce serait plus rapide?

Le blog de Steve: http://www.stevesouders.com/blog/2009/04/09/dont-use-import/ Source: http://css-tricks.com/css -variables-with-php/

7
dantiston
    <?php
    define('CSSPATH', 'template/css/'); //define css path

    $cssItem = 'style.css'; //css item to display

    ?>

<html>
<head>
 <title>Including css</title>
  <link rel="stylesheet" href="<?php echo (CSSPATH . "$cssItem"); ?>" type="text/css">
</head>
<body>
...
...
</body>
</html>

VOTRE ARTICLE CSS IS INCLUS

4
Stefan

Si vous souhaitez importer un fichier CSS de cette manière, attribuez-lui simplement une extension .php et importez-le quand même. Cela fonctionnera très bien :)

2
Vincent Koeman

Ceci est un article plus ancien, mais comme les informations sont toujours pertinentes, une option supplémentaire pourrait aider les autres.

  • Définissez une constante pour le chemin du fichier par Stefan's answer. La définition Peut être placée en haut de la page PHP elle-même ou à l'intérieur d'un fichier externe inclus/requis, tel que config.php . ( http: // php. net/manual/fr/function.include.php )

  • Écho de la constante dans les balises PHP, puis ajoutez le nom du fichier directement après .
    Fonctionne également pour d’autres fichiers liés tels que JavaScript.

<?php
define('CSS_PATH', 'template/css/'); //define CSS path 
define('JS_PATH', 'template/js/'); //define JavaScript path 
?>
<!-- Doctype should be declared, even in PHP file -->
<!DOCTYPE html> 
<html>
<head>
<link rel="stylesheet" type="text/css" href="<?php echo CSS_PATH; ?>main.css">
<script type="text/javascript" src="<?php echo JS_PATH; ?>main.js"></script>
</head>
<body>
</body>
</html>
2
Kim_Keown

Vous pouvez également faire ce qui suit:

  1. Créez un fichier php dans le dossier includes, nommez-le bootstrap_css.php par exemple
  2. coller les fichiers de code CSS dans le fichier créé ci-dessus

     <?php 
      $minCss=' <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">';
    
     $business = '<link href="bootstrap/css/modern-business.css" rel="stylesheet">';
    
      echo $minCss;
      echo $business;
    ?>
    
  3. dans l'en-tête html, incluez les fichiers css comme suit 

     <?php include_once 'includes/bootstrap_css.php'; ?>
    
1
Mwizak

La meilleure façon de le faire est:

Étape 1: Renommez votre fichier main.css en main.php

Étape 2: dans votre main.php, ajoutez

<style> ... </style>

Étape 3: incluez-le comme d'habitude

<?php include 'main.php'; ?>

C'est comme ça que je l'ai fait, et ça marche bien ..

0
BASSEL

Tu pourrais faire ça

<?php include("Includes/styles.inc"); ?>

Et ensuite, dans ce fichier include, créez un lien vers le (s) fichier (s) css.

0
Jason Gennaro

Il suffit de mettre 

echo "<link rel='stylesheet' type='text/css' href='CSS/main.css'>";

dans le code php, votre style est inclus. Fonctionne à 100%, j'ai essayé.

0
mohan krishna

Je ne sais pas pourquoi vous en auriez besoin, mais pour ce faire, vous pouvez éditer votre fichier css: -

<style type="text/css">
body{
...;
...;
}
</style>

Vous venez d'ajouter ici et de le sauvegarder en tant que main.php. Vous pouvez continuer avec main.css mais c'est mieux en tant que .php, car il ne reste pas un fichier css après l'avoir fait.


Ensuite, éditez votre fichier HTML comme ceci. NOTE: Faites la déclaration include à l'intérieur de la balise

<html>
<head>
 <title>Sample</title>
 <?php inculde('css/main.css');>
</head>
<body>
...
...
</body>
</html>
0
Rohan Verma

J'ai résolu un problème similaire en enveloppant toutes les instructions CSS dans un écho php, puis en l'enregistrant sous un fichier php (bien sûr, en commençant et finissant par les balises php), puis en incluant le fichier php une redirection suivie (header ("nomfichier.php")) et aucun code HTML n'est autorisé avant une redirection.

0
L.Box