highlight_file

(PHP 4 , PHP 5)

highlight_file -- Destaca a sintaxe de um arquivo

Descrição

mixed highlight_file ( string filename [, bool return] )

A função highlight_file() mostra uma versão do código contido em filename com a sintaxe destacada usando as cores definidas pelo destacador de sintaxe do PHP.

Se o segundo parâmetro return for TRUE então highlight_file() irá retornar o código como uma string ao invés de mostrá-lo. Se o segundo parâmetro não for TRUE então highlight_file() irá retornar TRUE se funcionar, FALSE em caso de falha.

Nota: O parâmetro return tornou-se disponível no PHP 4.2.0. Antes disso é usado como o padrão, que é FALSE.

Cuidado

Deve se tomar cuidado quando usar as funções show_source() e highlight_file() para ter certeza que você não irá inadvertidamente revelar informações sensíveis como senhas ou outros tipos de informação que possam criar um risco de segurança em potencial.

Nota: Desde o PHP 4.2.1 esta função também é afetada por safe_mode e open_basedir.

Para configurar uma url que possa fazer o destaque da sintaxe de qualquer script que você passar para ela, nós iremos fazer uso da diretiva "ForceType" no Apache para gerar um bom modelo de URL, e usar a função highlight_file() para mostrar o código com uma boa aparência.

Exemplo 1. Criando uma URL para destaque da sintaxe

No seu httpd.conf você pode adicionar o seguinte:

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

E então faça um arquivo chamado source e coloque-o no seu diretório raiz do servidor web.

<html>
<head>
<title>Mostrar Fonte</title>
</head>
<body bgcolor="white">
<?php
    $script
= getenv ("PATH_TRANSLATED");
    if(!
$script) {
       echo
"<br><b>ERRO: Necessário o nome do script</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>ERRO: Somente PHP ou script de inclusão(.inc) são permitidos</h1>";
      }
    }
    echo
"<hr />Processed: " . date("Y/M/d H:i:s", time());
?>
</body>
</html>

Então você pode usar uma URL como a abaixo para mostrar uma versão colorida do script localizado em "/caminho/para/script.php" no seu site web.

http://www.example.com/source/caminho/para/script.php

Veja também highlight_string().