2011-05-26 76 views
1

我正在嘗試將所有對所寫入表單的響應總計保留下來,但我無法將其設置爲每個響應需要換行。我的代碼如下。我只是想讓它更容易閱讀,因爲現在發生的情況是,所有的反應都卡在了一起,希望每一個反應都在一條新線上。我嘗試了一些東西,讓他們在代碼中註釋,結果如何。提前致謝。PHP,寫入文件時的換行符

<?php 
if (isset($_POST['sometext'])) 
    { 
    $myFile = "testFile.txt"; 
    $thetext=$_POST['sometext'] ;//added + "\n" here but all response turned to 0 
    writemyfile($myFile,$thetext,"a"); 
    } else 
    { 
    $thetext="Enter text here"; 
    } 

function readmyfile($thefile) 
    { 
     $file = fopen($thefile, "r") or exit("Unable to open file!"); 
     //Output a line of the file until the end is reached 
     while(!feof($file)) 
     { 
      echo fgets($file). "<br />"; 
     } 
     fclose($file); 
    } 

function writemyfile($thefilename,$data,$mode) 
    { 
     $myfile=fopen($thefilename,$mode); 
     fwrite($myfile, $data); // added + "\n" here and responses turned 0 
     fclose($myfile); 
    } 
?> 
<html> 
    <head> 
     <title> Zain's Test Site</title></head> 
    <body> 
     <form method="post" action="<?php echo $php_self ?>"> 
      <input type="text" name="sometext" value="<?php echo $thetext ?>" > 
      <input type="submit" name="Submit" value="Click this button"> 
     </form> 
     <?php readmyfile("testFile.txt"); ?> 
    </body> 

+1

PHP有一個常量,'PHP_EOL',它包含你的主機平臺的行尾字符。使用它比'\ n'更安全,除非您專門爲其他平臺讀取/寫入文件。 – 2011-05-26 15:28:23

+0

謝謝你告訴我,我會做一些研究 – Zaask 2011-05-26 15:36:37

回答

1

你可以嘗試追加換行符(\ n)輸出到$ thetext變量是這樣的:

$thetext=$_POST['sometext'] . "\n"; 

記住使用 ''作爲連接運算符,並在換行符周圍使用雙引號。

+0

謝謝。 Idk爲什麼我沒有意識到運營商。對不起,浪費你的時間。 – Zaask 2011-05-26 15:34:17

+0

這完全不是浪費。這就是爲什麼在這裏。 :) – 2011-05-26 15:44:49

1
$thetext."\n" 

在PHP您連接使用字符串 「」,你在javascript 「+」 使用。

+0

謝謝。 Idk爲什麼我沒有意識到運營商。對不起,浪費你的時間。 – Zaask 2011-05-26 15:33:47

1

$text = $text."\n" 「\ n」 呢?這裏

錯誤的一些文字填寫答案

+0

謝謝。 Idk爲什麼我沒有意識到運營商。對不起,浪費你的時間。 – Zaask 2011-05-26 15:33:52

1
fwrite($myfile, $data); // added + "\n" here and responses turned 0 

的Concat的字符串操作是()否(+)

您還可以簡化您的腳本正是如此

echo nl2br(get_file_contents($file)); 
+0

謝謝。 Idk爲什麼我沒有意識到運營商。對不起,浪費你的時間。 – Zaask 2011-05-26 15:33:41