Forum und email

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.

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

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

Veja também highlight_string().