Pregunta

Estoy intentando abrir un archivo de texto y la salida de su contenido con el código de abajo. El archivo de texto incluye saltos de línea pero cuando me echo el archivo de su formato. ¿Cómo puedo solucionar esto?

gracias.

<html>

<head>

</head>

<body>

        $fh = fopen("filename.txt", 'r');

        $pageText = fread($fh, 25000);

        echo $pageText;


</body>

</html>
¿Fue útil?

Solución

Para convertir la línea de texto plano rompe a html saltos de línea, intente lo siguiente:

    $fh = fopen("filename.txt", 'r');

    $pageText = fread($fh, 25000);

    echo nl2br($pageText);

Tenga en cuenta la función nl2br envolver el texto.

Otros consejos

Una línea de código:

 echo nl2br( file_get_contents('file.txt') );

Si lo que desea es mostrar la salida del archivo dentro del código html el formato de la misma manera que se encuentra en el archivo de texto que se puede envolver su estado de eco con un par de etiquetas pre:

echo "<pre>";
echo $pageText;
echo "</pre>";

Algunas de las otras respuestas parecen prometedores en función de lo que está tratando de tareas.

Antes de que el eco, asegúrese de incluir

header('Content-Type: text/plain');

Para sencilla lee así, me gustaría hacer algo como esto:

$fileContent = file_get_contents("filename.txt");

echo str_replace("\n","&lt;br&gt;",$fileContent);

Esto se encargará de retorno de carro y la salida del texto. A menos que esté escrito en un archivo, yo no uso las funciones fopen y afines.

Espero que esto ayude.

¿Está dando salida a HTML o texto plano? Si HTML trate de añadir un <br> al final de cada línea. por ejemplo.

while (!feof($handle)) {
  $buffer = fgets($handle, 4096); // Read a line.
  echo "$buffer<br/>";
} 

El intentar conseguir saltos de línea para trabajar la lectura de un archivo .txt en Apache 2 y PHP 5.3.3 con MacOSX 10.6.6 y Camino, la echo nl2br ($ texto); no funcionó la derecha hasta que imprime el tamaño del archivo primero también. Por cierto que no parece importar si el archivo .txt tiene Linux / MacOSX LF o Windows CRLF saltos de línea o la codificación de texto UTF-8 o Windows Latin1, Camino consigue salir bien.

<?php
$filename     = "/Users/Shared/Copies/refrain.txt";
$file_ptr     = fopen ( $filename, "r" );
$file_size    = filesize ( $filename );
$text         = fread ( $file_ptr, $file_size );
fclose ( $file_ptr );
echo ( "File size : $file_size bytes<br>&nbsp;<br>" );
echo nl2br ( $text );
?>

Supongamos que tiene un archivo index.php alojado en el servidor web. Desea insertar algunos contenidos de los archivos de texto de varias líneas en él. Así es como se hace:

<body>
        <div>Some multi-line message below:</div> 
        <div><?= nl2br(file_get_contents('message.txt.asc')); ?></div>
</body>

Esta parte <?= ... ?> es sólo un atajo, que indica al servidor web, que necesita ser tratado como un argumento de PHP echo.

Es necesario para envolver su código PHP en <?php <YOU CODE HERE >?>, y guardarlo como .php o .php5 (depende de configurar el Apache).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top