PHP, разрыв строки при записи в файл - PullRequest
1 голос
/ 26 мая 2011

Я пытаюсь сохранить промежуточный итог всех ответов на форму, которую я написал, но у меня возникают проблемы с ее составлением, чтобы каждый ответ занял новую строку.У меня есть код ниже.Я просто хочу, чтобы его было легче читать, потому что сейчас происходит то, что все ответы, собранные вместе, хотели бы, чтобы каждый из них был на новой строке.Я попробовал несколько вещей и прокомментировал их в коде, и каков был результат.Заранее спасибо.

<?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>

Ответы [ 5 ]

1 голос
/ 26 мая 2011
 fwrite($myfile, $data); // added + "\n" here and responses turned 0

оператор строки конкатата (.) Не (+)

, вы также можете упростить свой скрипт, таким образом

 echo nl2br(get_file_contents($file));
1 голос
/ 26 мая 2011

$text = $text."\n"?

Ошибка, вот еще текст, чтобы заполнить ответ

1 голос
/ 26 мая 2011

Можете ли вы попробовать добавить символ новой строки (\ n) к переменной $ thetext следующим образом:

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

Не забудьте использовать «.» в качестве оператора конкатенации и используйте двойные кавычки вокруг символа новой строки.

1 голос
/ 26 мая 2011

Используйте новую строку "\ n" вместо br, что для html

1 голос
/ 26 мая 2011
$thetext."\n"

в php вы объединяете строки, используя ".", Вы используете "+" в JavaScript.

...