windows — записать результаты php-скрипта в текстовый файл

Сценарий php отображает результаты на экране, но не экспортирует результаты в текстовый файл. дела php c:\myscript.php > output.txt работает, но не содержит разрывов строк (в отличие от способа отображения на экране).

Чего мне не хватает здесь, чтобы экспортировать результаты в текстовый файл?

Скрипт, который работает на экране с командной строкой:

<?php

$list1 = array('a1', 'a2', 'a3');
$list2 = array('b1', 'b2',);
$list3 = array('c1', 'c2', 'c3');

foreach ($list1 as $i) {
foreach ($list2 as $j) {
if ( $j == $i ) { continue; }
foreach ($list3 as $k) {
if ( $k == $j ) { continue; }
if ( $k == $i ) { continue; }
echo "$i$j$k\n";
}
}
}

?>

Я попытался вставить это в конце, но получаю ошибку.

$sListText = file_get_contents("output.txt");
echo nl2br($sListText);

Я попробовал это, получая пустой текстовый файл:

$output = null;
foreach....
file_put_contents("output.txt", $output, FILE_APPEND);

0

Решение

На машине linux php myscript.php > output.txt работает нормально и с переносами строк, вы используете окна, поэтому вы должны изменить

echo "$i$j$k\n";

в

echo "$i$j$k\r\n";

Надеюсь, поможет.

2

Другие решения

file_get_contents() получает содержимое файла в виде строки, поэтому бесполезно, если вы хотите что-то записать в файл.

$file = fopen('output.txt', 'w');
//do your stuff here
fwrite($file, $output);
fclose($file);

К вашему сведению — это перезапишет любые существующие данные в файле output.txt.

Также важно отметить, что вам действительно нужно поместить что-то в переменную $ output, поэтому эта строка echo "$i$j$k\n";необходимо изменить на $output .= "$i$j$k\n";

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector