Treehouse: Grow your CSS skills. Land your dream job.

Last updated on:

Get Current File Name

<?php
    $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.

Comments

  1. Gilbert
    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#

    sweet

  3. cshen
    Permalink to comment#

    yeah! this is working, thank you.

  4. sourav
    Permalink to comment#

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

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

  5. Marcio Toledo

    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. immeëmosol
    Permalink to comment#
    echo substr(
      __FILE__
      , strrpos( __FILE__ , '/' )
      , strrpos( __FILE__ , '.' )
    );

    ? http://php.net/manual/en/language.constants.predefined.php .

  8. Dmitry
    Permalink to comment#

    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

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in in triple backtick fences like this:

```
<script>
  function example() {
    element.innerHTML = "<div>code</div>";
  }
</script>
```