У меня и моего друга есть небольшая страница свободного времени вместе. Он не программист, и для того, чтобы он мог изменить текст на первой странице, я создал php-скрипт, который
1) Считывает данные из файла "tester.txt" (это текст, который должен идти на первой странице)
2) Распечатывает этот текст в текстовой области, где вы можете отредактировать текст и отправить его снова
3) Записывает отредактированный текст в тот же файл, «tester.txt»
Две функции чтения (); и писать(); выглядеть так
function Read() {
$file = "tester.txt";
$fp = fopen($file, "r");
while(!feof($fp)) {
$data = fgets($fp, filesize($file));
echo "$data <br>";
}
fclose($fp);
}
function Write() {
$file = "tester.txt";
$fp = fopen($file, "w");
$data = $_POST["tekst"];
fwrite($fp, $data);
fclose($fp);
}
Единственная проблема, с которой я столкнулся, заключается в том, что при выводе текста в текстовую область возвращаемая строка записывается как <br>
- и я не хочу, чтобы это делалось, потому что когда вы редактируете часть кода и переписывает его, появляется еще один слой <br>
. Вот скриншот для иллюстрации:
Есть ли обходной путь к этому?
Спасибо!
Если вам нужен остальной код, вот он:
<html>
<head>
<title>Updater</title>
</head>
<body>
<?php
function Read() {
$file = "tester.txt";
$fp = fopen($file, "r");
while(!feof($fp)) {
$data = fgets($fp, filesize($file));
echo "$data <br>";
}
fclose($fp);
}
function Write() {
$file = "tester.txt";
$fp = fopen($file, "w");
$data = $_POST["tekst"];
fwrite($fp, $data);
fclose($fp);
}
?>
<?php
if ($_POST["submit_check"]){
Write();
};
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<textarea width="400px" height="400px" name="tekst"><?php Read(); ?></textarea><br>
<input type="submit" name="submit" value="Update text">
<input type="hidden" name="submit_check" value="1">
</form>
<?php
if ($_POST["submit_check"]){
echo 'Text updated';
};
?>
</body>
</html>