[PHP] 페이지 이름으로 CSS 클래스 넣기

페이지마다 스타일을 다르게 주기 위해 body에 페이지 이름(파일명)으로 클래스를 넣는 경우가 종종 있다.

헤더 파일을 공유하고 있는 경우 각 페이지마다 클래스를 다르게 넣기 위해 url을 받아서 경로와 확장자를 지우고 페이지 이름만 남기는 것이 포인트다.

1. URL 받아오기

정확히는 경로가 포함 된 현재 페이지의 파일명을 받아오는 것이다.

변수 하나를 만들고 변수에 넣어둔다.

$baseName = $_SERVER[ "PHP_SELF" ];

결과 값은 ‘/경로/파일명.확장자‘로 나온다.

ex) /company/about.php

2. 경로 지우기

파일명만 남겨보자.

$pageName = basename( $baseName );

결과 값은 ‘파일명.확장자’로 나온다.

ex) about.php

3. 확장자 지우기

1번에서 만든 변수에서 2번처럼 하면 경로만 지워지고 아래와 같이 하면 경로와 확장자가 모두 지워지고 파일명만 남게된다.

$pageName = basename( $baseName, '.확장자' );

결과 값은 ‘파일명’으로 나온다.

ex) about

이렇게 추출해낸 페이지 이름을 body에 클래스로 넣어주면 끝.

<body class="<?php echo $pageName; ?>">