Grow your CSS skills. Land your dream job.

Last updated on:

Get Current File Name

    $pageName = basename($_SERVER['PHP_SELF']);

Potential use:

<body id="body_<?php echo $pageName; ?>">

Append ID to body to do different CSS styles on different pages.


  1. Permalink to comment#

    Chris your snippets section is working. I found this on Google it was just what I needed.

  2. Zlatan Halilovic
    Permalink to comment#


  3. Permalink to comment#

    yeah! this is working, thank you.

  4. Permalink to comment#

    echo $pageName = basename($_SERVER[‘SCRIPT_NAME’]);

    It will give current file name… as index.php or about.php

  5. But you will have ‘.php’ as id or class. If you want get only name befor the ‘.php’ here is de code:

    // Recuperando o nome do arquivo sem '.php'
      $currentFile = $_SERVER["PHP_SELF"];
      $parts = Explode('/', $currentFile);
      $parts = $parts[count($parts) - 1];
      $parts = Explode('.', $parts);
      $pageName = $parts[0];
    • Maxi
      Permalink to comment#

      I agree. Simply I enclose files with regular dot(s) in the name:

      $currentFile = $_SERVER["PHP_SELF"];
      $parts = explode('/', $currentFile);
      $parts = $parts[count($parts) - 1];
      $name = explode('.', $parts);
      unset ($name[count($name) - 1]);
      $pageName = implode('.',$name);
  6. Hilco
    Permalink to comment#

    better yet:
    echo basename($_SERVER['REQUEST_URI'], '.php');

    • nico
      Permalink to comment#

      great, thank you

    • NoOneOfConsequence
      Permalink to comment#

      Yo…Hilco – thanks.

      This rocks for my purposes…dynamically searching a database for stuff that’s only meant to be shown on certain pages.

  7. echo substr(
      , strrpos( __FILE__ , '/' )
      , strrpos( __FILE__ , '.' )

    ? .

  8. You have an error in your code, $_SERVER[PHP_SELF] instead of $_SERVER[‘PHP_SELF’]

  9. hey
    Permalink to comment#

    never know how these php snippets work

    any link to demo to show few site, with the screencapture on the SERVER code that php was implemented

    got very confuse, that these things work or NOT

  10. Johnslegers
    Permalink to comment#

    A very useful feature that seems totally absent in Javascript.

Leave a Comment

Posting Code

Markdown is supported in the comment area, so you can write inline code in backticks like `this` or multiline blocks of code in in triple backtick fences like ```this```. You don't need to escape code in backticks, Markdown does that for you.

Sadly, it's kind of broken. WordPress only accepts a subset of HTML in comments, which makes sense, because certainly some HTML can't be allowed, like <script> tags. But this stripping happens before the comment is processed by Markdown (via Jetpack). It seems to me that would be reversed, because after Markdown processes code in backticks, it's escaped, thus safe. If you think you can fix this issue, get in touch!

If you need to make sure the code (typically HTML) you post absolutely posts correctly, escape it and put it within <pre><code> tags.

Current ye@r *

*May or may not contain any actual "CSS" or "Tricks".