Я пытаюсь открыть текстовый файл и произвести его содержание с кодом ниже. Текстовый файл включает разрывы строки, но когда я повторяю файл его бесформатное. Как я фиксирую это?
Спасибо.
<html>
<head>
</head>
<body>
$fh = fopen("filename.txt", 'r');
$pageText = fread($fh, 25000);
echo $pageText;
</body>
</html>
Для преобразования перерывов простой текстовой линии до разрывов линии HTML, попробуйте следующее:
$fh = fopen("filename.txt", 'r');
$pageText = fread($fh, 25000);
echo nl2br($pageText);
Обратите внимание на функцию NL2BR, обертывая текст.
Одна строка кода:
echo nl2br( file_get_contents('file.txt') );
Если вы просто хотите показать вывод файла в html-коде, отформатированном так же, как и в текстовом файле, вы можете обернуть свой эхо-оператор парой претегов:
echo "<pre>";
echo $pageText;
echo "</pre>";
Некоторые из других ответов выглядят многообещающими в зависимости от того, что вы пытаетесь сделать todo.
До эха, обязательно включите
header('Content-Type: text/plain');
Для простых чтения, как это, я бы сделал что-то подобное:
$fileContent = file_get_contents("filename.txt");
echo str_replace("\n","<br>",$fileContent);
Это позаботится о возвращении каретки и выводит текст. Если я не пишу в файл, я не использую Fopen и связанные с ними функции.
Надеюсь, это поможет.
Вы выводят на HTML или простой текст? Если HTML попробуйте добавить
в конце каждой строки. например
while (!feof($handle)) {
$buffer = fgets($handle, 4096); // Read a line.
echo "$buffer<br/>";
}
Вам нужно завернуть PHP-код в ?>
и сохранить его как .php
или .php5
(зависит от настроек вашего apache).