Podręcznik PHP
Poprzedni |  | Następny

# 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 highlighted 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.

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

Uwaga!
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.

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

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:

Przykład 1. Creating a source highlighting URL
    <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: " . getenv("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 a URL like the one below to display a colorized version of a script located in "/path/to/script.php" in your web site.
    http://www.example.com/source/path/to/script.php

See also highlight_string().

Poprzedni | Spis treści | Następny
get_browser | Początek rozdziału | highlight_string