highlight_file

(PHP 4 , PHP 5)

highlight_file -- Resaltado de sintaxis de un archivo

Descripción

mixed highlight_file ( string nombre_archivo [, bool devolver] )

La función highlight_file() imprime una versión con resaltado de sintaxis del código contenido en nombre_archivo usando los colores definidos en el resaltador de sintaxis incorporado de PHP.

Si el segundo parámetro devolver es definido a TRUE entonces highlight_file() devolverá el código resaltado en lugar de imprimirlo. Si el segundo parámetro no es definido a TRUE entonces highlight_file() devolverá TRUE si tiene éxito, o FALSE en caso de fallo.

Nota: El parámetro devolver apareció en PHP 4.2.0. Antes de esta versión, tenía el comportamiento predeterminado, que es FALSE

Atención

Debe tenerse cuidado cuando se usan las funciones show_source() y highlight_file() para asegurarse de que no se revele inadvertidamente información sensible, tal como contraseñas o cualquier otro tipo de información que pueda crear un riesgo potencial de seguridad.

Nota: A partir de PHP 4.2.1 esta función es influenciada también por safe_mode y open_basedir.

Para crear una URL que pueda resaltar el código de cualquier script que le sea pasado, haremos uso de la directiva "ForceType" en Apache para generar un agradable patrón URL, y usaremos la función highlight_file() para mostrar un listado de código bien presentado.

En su httpd.conf puede agregar lo siguiente:

Ejemplo 1. Creación de una URL para resaltar código fuente

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

Y luego cree un archivo llamado source y colóquelo en su directorio raíz de documentos web.

<html>
<head>
<title>Presentaci&oacute;n de C&oacute;digo Fuente</title>
</head>
<body bgcolor="white">
<?php
    $script
= getenv('SCRIPT_FILENAME');
    if (!
$script) {
        echo
"<br /><b>ERROR: Se necesita el Nombre del Script</b><br />";
    } else {
        if (
ereg("(\\.php|\\.inc)$",$script)) {
            echo
"<h1>Fuente de: " . getenv("PATH_INFO") . "</h1>\n<hr />\n";
            
highlight_file($script);
        } else {
            echo
"<h1>ERROR: Solo se permiten scripts o archivos de " .
                 
"inclusion PHP</h1>";
        }
    }
    echo
"<hr />Procesado: " . date("Y/M/d H:i:s", time());
?>
</BODY>
</HTML>

Luego puede usar una URL como la siguiente para mostrar una versión en colores de un script ubicado en "/ruta/hacia/script.php" en su sitio web.

http://www.example.com/source/ruta/hacia/script.php

Vea también highlight_string().