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.
Note: The return parameter became available in PHP 4.2.0. Before this time it behaved like the default, which is FALSE
| Caution |
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. |
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:
Example 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().