Hola foreros, les dejo un pequeńísimo aporte; una función que recibe como parámetros el nombre del archivo y las lineas a mostrar y devuelve el código fuente formateado del archivo.
Modificar a gusto del consumidor, saludos
Código PHP:
Ver original<?
/**
* Muestra código con formato HTML
* @param string $file nombre de arhivo
* @param int $line Linea a mostrar
* @param int $prev lineas antes de la linea principal
* @param int $next lineas posteriores a la linea a mostrar
* @return string
* @author repara2 adaptado de http://www.phpclasses.org/browse/file/6194.html
*/
function showSource($file, $line, $prev = 10, $next = 10) {
$output = "";
//Compruebo que el archivo exista
//Leer el código
//Separar las lineas
$count = count($data) - 1;
//Contar las lineas a desplegar
$start = $line - $prev;
if ($start < 1) {
$start = 1;
}
$end = $line + $next;
if ($end > $count) {
$end = $count + 1;
}
//Obtener la información de formato
$highlight_default = ini_get('highlight.default');
//Salida
$output .= '<table cellspacing="0" cellpadding="0"><tr>';
$output .= '<td style="vertical-align: top;"><code style="background-color: #FFFFCC; color: #666666;">';
for ($x = $start; $x <= $end; $x++) {
$output .= '<a name="'.$x.'"></a>';
$output .= ($line == $x ? '<font style="background-color: red; color: white;">' : '');
$output .= $x;
$output .= ' ';
$output .= ($line == $x ? '</font>' : '');
$output .= '<br />';
}
$output .= '</code></td><td style="vertical-align: top;"><code>';
while ($start <= $end) {
$output .= ' ' . $data[$start - 1] . '<br />';
++$start;
}
$output .= '</code></td>';
$output .= '</tr></table>';
return $output;
}
//<----------- Ejemplo
//El archivo que quiero ver
//Las lineas que quiero mostrar
$line = 10;
//Obtener el HTML
if(!$output = showSource
($file, $line))die("Archivo inexistente!"); //Salida por pantalla
echo "<h3>Mostrando $line lineas del archivo $file</h3>";
echo $output;
?>