PHP: Dynamiczne czytanie zawartości katalogu

2012-07-13 PHP

Poniższa funkcja wyświetla wszystkie kaskadowe arkusze stylów z podanego katalogu. Następnie tworzy z nich odpowiednie wpisy aktywujące arkusze na stronie (znacznik link).

Przykładowo – umieszczamy dowolne pliki css w:

/var/www/_css

a następnie korzystamy z poniższej funkcji:

function appendCss()
{
  $appendArray = array();
  $dir         = '_css';
  $styleSheets = scandir($dir);
  $styleSheets = array_diff($styleSheets, array('.', '..'));
  foreach ($styleSheets as $css)
  {
    $fileInfo      = pathinfo($css);
    $fileExtension = strtolower($fileInfo['extension']);

    if ($fileExtension == 'css')
    {
      $appendArray[] = $css;
    }
  }

  foreach ($appendArray as $cssFileToAppend)
  {
    ?>
    <link rel="stylesheet" href="<?php echo PROTOCOL . DOMAIN; ?>/_css/<?php echo $cssFileToAppend; ?>?v=1; ?>" type="text/css" media="screen" />
    <?php
  }
}

Wywołując ją w odpowiednim miejscu nagłówka szablonu otrzymamy gotową listę znaczników z dołączonymi arkuszami stylów. Każde dodanie nowego arkusza CSS skutkować będzie jego automatycznym pojawieniem się na stronie. To oczywiście przykład. Listowanie katalogu możemy wykorzystać na wiele innych sposobów.

<?php appendCss(); ?>
Do NOT follow this link or you will be banned from the site!