Webmaster - Exibir facilmente o código php / xhtml de sua página

Maio 2017


Se você que propor aos seus visitantes que eles vejam a fonte de seus arquivos (PHP ou HTML), existem várias soluções.

Em PHP

Exibir o código php


A função highlight_file exibe o código php de um arquivo.

Exemplo para exibir o código de index.php :
highlight_file(index.php);
. Também é possível utilizar a constante __FILE__ para exibir a fonte do arquivo em curso.

É melhor usar a função "exit" (saída) para não executar o resto do script.


Podemos reunir esses diversos pedaços de código para exibir a fonte em uma determinada condição, aqui, se a variável "GET source" existe:
//Se a variável GET source existe 

if(isset($_GET['source']))  
    {  
        //exibimos o código php e paramos o script com o exit  
        highlight_file(__FILE__);  
        exit;  
    }
Atenção: Cuidado para não exibir as suas senhas usando este truque.
A desvantagem desse truque é que ele só colore o código PHP, e não o HTML.

Para colorir o código html com uma biblioteca javascript, veja:
Coloração sintática em suas páginas web

Ou com o geshi (em php) :

GeSHi - Código colorido

Mais informações sobre a função highlight_file

No entanto, o código HTML gerado por esta função é inválido porque ele não coloca um doctype, tags body, html ...

Eu criei uma função para exibir a fonte, mantendo uma página válida.
Veja

Veja esta função.

É usado no meio do seu código html, após a tag body.

Você pode adaptá-la facilmente, se quiser.

function exibir_código_php()  
  {  
    if (isset($_GET['source']))  
      {  
        echo '<p><a href="',$_SERVER['PHP_SELF'],'">Retorno</a></p>';  
        echo '<p>Aqui é o código php do arquivo:</p>';  
        $page=highlight_file($_SERVER['SCRIPT_FILENAME'], TRUE);  
        $page=str_replace(  
          array('<code>','/code>',' ','</font>','<font color="'),  
          array('<pre style="padding:1em;border:2px solid black;overflow:scroll">','/pre>',' ','</span>','<span style="color:'),$page);  
        echo $page;  
        echo '<p><a href="',$_SERVER['PHP_SELF'],'">Retour</a></p>';  
        echo '</body></html>';  
        exit;  
      }  
  }

Exibir o código html


Podemos usar o "view-source" (fonte de exibição) para exibir o código html da página.

Por exemplo, este link:
<a href="view-source: http://www.ccm.net/"> O código html do Kioskea</a>
mostrará o código html da página inicial do ccm.

A Variável PHP $ _SERVER ['PHP_SELF'] corresponde ao nome do arquivo e seu caminho em relação à raiz do site.

Por exemplo, se você escrever este código
<?php echo $_SERVER['PHP_SELF'];?>
no arquivo "index.php" armazenado em um diretório chamado "diretório/" do seu site, o resultado será:
/diretório/index.php
. Assim, podemos combinar estes dois truques para exibir o código HTML de um arquivo, entrando:
<a href="view-source: endereço_do_seu_site<? php echo $ _SERVER['PHP_SELF'];?>">Fonte html</a>
.

Em HTML


Basta utilizar o mesmo truque, marcando o nome do arquivo.
Por exemplo:
<a href="view-source:endereço_do_seu_site/index.html">Fonte da página inicial</a>

Informações


O truque do view-source não funciona com caminhos relativos.

Este código não funcionará :
<a href="view-source:index.html">Código da página inicial.</a>


O fato de usar a variável PHP_SELF para mostrar o nome do arquivo é a mesma coisa, mas acho que é mais prático, principalmente se, como eu, você só usar uma única página fonte.

Nota do autor: Em princípio, o view source trabalha em todos os navegadores recentes, mas no meu caso ele só funciona com o Firefox.

Veja também





Tradução feita por Lucia Maurity y Nouira

Veja também

Artigo original publicado por . Tradução feita por pintuda. Última modificação: 10 de junho de 2011 às 10:44 por pintuda.
Este documento, intitulado 'Webmaster - Exibir facilmente o código php / xhtml de sua página', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.