Primeiramente verificamos se o arquivo que o usuario esta tentando abrir via url existe (eg. http://www.site.com/...local=index.php ). Caso exista ele define a variavel $file como o endereco passado na variavel 'local' da url, caso contrario ele define a variavel em questao como o endereco de um arquivo que exibe uma mensagem para o usuario dizendo que o arquivo especificado nao existe.
//testa se existe ou nao o arquivo que esta sendo requerido
if((isSet($_GET['local']))&&(is_file($_GET['local']))){
//caso exista, o local e nome do arquivo eh guardado na variavel 'file'
$local = $_GET['local'];
$file = $local;
} else {
//caso nao exista, ele abre o arquivo que da uma mensagem de erro de url
$file = "include/erro_url.inc";
$local = "#UNDEFINED#";
}
Esse arquivo de erro de url pode conter a seguinte linha:
erro_url.inc
Verifique o caminho do arquivo especificado, pois não foi possivel abrir-lo!
Após isso montamos a pagina e colorimos o codigo do arquivo especificado usando a funcao highlight_file() ou show_source()(que, segundo o manual, é um apelido para a primeira)
//monta a pagina
print <<< HEADER
<html>
<head>
<title>
Codigo-Fonte de " $local "
</title>
<link href="include/style.css" type="text/css" rel="stylesheet">
</head>
<body>
HEADER;
//exibe o conteudo da variavel 'string'
highlight_file("$file");
print <<< FOOTER
</body>
</html>
FOOTER;
O código final de show-source é:
show-source.php
<?php
//testa se existe ou nao o arquivo que esta sendo requerido
if((isSet($_GET['local']))&&(is_file($_GET['local']))){
//caso exista, o local e nome do arquivo eh guardado na variavel 'file'
$local = $_GET['local'];
$file = $local;
} else {
//caso nao exista, ele abre o arquivo que da uma mensagem de erro de url
$file = "include/erro_url.inc";
$local = "#UNDEFINED#";
}
//monta a pagina
print <<< HEADER
<html>
<head>
<title>
Codigo-Fonte de " $local "
</title>
<link href="include/style.css" type="text/css" rel="stylesheet">
</head>
<body>
HEADER;
//exibe o conteudo da variavel 'string'
highlight_file("$file");
print <<< FOOTER
</body>
</html>
FOOTER;
?>
Ver:http://www.inf.ufg.b...view-source.php
Espero que seja útil!! Flws