PHP Manual
Prev |  | Next

# highlight_file

(PHP 4 )

highlight_file -- Syntax highlighting of a file

## Description

mixed highlight_file ( string filename [, bool return])

The highlight_file() function prints out a syntax higlighted version of the code contained in `filename` using the colors defined in the built-in syntax highlighter for PHP.

If the second parameter `return` is set to `TRUE` then highlight_file() will return the highlighted code as a string instead of printing it out. If the second parameter is not set to `TRUE` then highlight_file() will return `TRUE` on success, `FALSE` on failure.

> Note: The `return` parameter became available in PHP 4.2.0. Before this time it behaved like the default, which is `FALSE`

> Note: Care should be taken when using the show_source() and highlight_file() functions to make sure that you do not inadvertently reveal sensitive information such as passwords or any other type of information that might create a potential security risk.

> Note: Since PHP 4.2.1 this function is also affected by safe_mode and open_basedir.

Example 1. Creating a source highlighting URL

To setup a URL that can code hightlight any script that you pass to it, we will make use of the "ForceType" directive in Apache to generate a nice URL pattern, and use the function highlight_file() to show a nice looking code list.

In your httpd.conf you can add the following:

    <Location /source>
        ForceType application/x-httpd-php
    </Location>

And then make a file named "source" and put it in your web root directory.

    <HTML>
    <HEAD>
    <TITLE>Source Display</TITLE>
    </HEAD>
    <BODY BGCOLOR="white">
    <?php
        $script = getenv ("PATH_TRANSLATED");
        if(!$script) {
        echo "<BR><B>ERROR: Script Name needed</B><BR>";
        } else {
        if (ereg("(\.php|\.inc)$",$script)) {
        echo "<H1>Source of: $PATH_INFO</H1>\n<HR>\n";
        highlight_file($script);
        } else {
        echo "<H1>ERROR: Only PHP or include script names are allowed</H1>";
        }
        }
        echo "<HR>Processed: ".date("Y/M/d H:i:s",time());
    ?>
    </BODY>
    </HTML>

Then you can use an URL like the one below to display a colorized version of a script located in "/path/to/script.php" in your web site.

    http://your.server.com/source/path/to/script.php

See also highlight_string(), show_source().

Prev | Home | Next
get_browser | Up | highlight_string