簡體   English   中英

將php腳本結果寫入文本文件

[英]Write php script results into a text file

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);

在Linux機器上, php myscript.php > output.txt可以正常工作,並且帶有換行符,您使用Windows,因此必須更改

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

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

希望能幫助到你。

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";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM