(PHP 4, PHP 5)
highlight_file — Destaca a sintaxe de um arquivo
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
.
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().