Получаю текст в одну строку, а их в файле 4. Добавляю тег <bg> и получаю кракозябры, а также каждая буква выводится с новой строки.
Хочу еще разделить строки по четным и нечетным, но нужно с этой проблемой разобраться.
$f = fopen('test.txt','r');
while (!feof($f)){
echo fgetc($f)."<br>";
}
fclose($f)
Должно выводить так:
Advertisers study how people
If an advert can achieve this
If an advert works well, the
If advertisements are to he
fgetc() считывает символ, а не строку. Используйте fgets():
$f = fopen('test.txt','r');
while (!feof($f))
{
echo fgets($f)."<br>";
}
fclose($f);
UPD: вариант с разделением строк на четные и нечетные:
$f = fopen('test.txt','r');
$n = 1;
$arr1 = $arr2 = array();
while(!feof($f))
{
if($n%2!=0)
$arr1[] = fgets($f);
else
$arr2[] = fgets($f);
$n++;
}
fclose($f);
var_dump($arr1);
var_dump($arr2);
как вариант, если задача не академическая
$lines = file("test.txt");
разделение на четные и нечетные строки:
$odd = array_filter($lines, function($k){ return $k % 2; }, ARRAY_FILTER_USE_KEY);
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники