作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我和我的 friend 在业余时间一起制作了一个主页。他不是程序员,为了让他能够更改首页上的一些文本,我创建了一个 php 脚本
1) 从文件“tester.txt”中读取数据(这是应该出现在首页的文本)
2) 将此文本打印到文本区域,您可以在其中编辑文本并再次提交
3) 将编辑后的文本写入同一个文件“tester.txt”
两个函数Read();和写();看起来像这样
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>
最佳答案
这比你想象的要简单。你不应该输出 <br>
标记,因为文本区域已经包含输入的换行符( \r\n
或 \n
)。你不必那样读文件,如果你这样读,你永远不必担心字符内容。
改变:
$fp = fopen($file, "r");
while(!feof($fp)) {
$data = fgets($fp, filesize($file));
echo "$data <br>";
}
fclose($fp);
到:
echo file_get_contents( $file);
问题已解决。
关于php - 文件 I/O 到 PHP 中的文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8315475/
我是一名优秀的程序员,十分优秀!