今天早些时候我问了一个关于我做错了什么的问题,我得到了这个工作,但现在我遇到了这个脚本的另一个问题。
代码发出警告(),现在已修复。您可以阅读帖子Here
代码自动清空。刷新脚本所在的页面时,文本文件为空。我不知道为什么... 这是代码
<?php
$fn = "file.txt";
$file = fopen($fn, "w+");
$size = filesize($fn);
if($_POST['addition']) fwrite($file, $_POST['addition']);
fclose($file);
?>
<form action="<?=$PHP_SELF?>" method="post">
<input type="text" name="addition" value="<?php echo file_get_contents('file.txt');?>"/>
<input type="submit"/>
</form>
我使用此脚本在我的网站上显示YouTube视频,因此我经常更新它。 您可以使用以下链接找到该脚本的工作示例:http://beta.martijnmelchers.nl/private/Test/test.php
我没有多尝试,因为我无法在互联网上找到解决方案,也没有在代码中找到解决方案。 请再帮帮我!提前谢谢!
答案 0 :(得分:1)
根据带w+
选项的manual:
开放阅读和写作;将文件指针放在开头 该文件和将文件截断为零长度。如果文件没有 存在,试图创造它。
看起来你想要在发布帖子时替换所有内容,所以最简单的解决方案是将所有文件处理调用放在POST条件中:
// To avoid warnings, this is better.
// You can add your original condition after it if you need it.
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
$file = fopen($fn, "w+");
// not sure why you need this...
// $size = filesize($fn);
fwrite($file, $_POST['addition']);
fclose($file);
}