这是我的第一个问题,请原谅我,如果我做错了什么!我正在努力!
所以我得到了这个简单的代码
<?php
$fn = "file.txt";
$file = fopen($fn, "w+");
$size = filesize($fn);
if($_POST['addition']) fwrite($file, $_POST['addition']);
$text = fread($file, $size);
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>
<iframe width="420" height="315" src="//<?php echo file_get_contents('file.txt');?>" frameborder="0" allowfullscreen></iframe>
它完美无缺,只是一个小问题...
脚本运行正常,但问题是输出错误:
警告:fread()需要2个参数,第8行/home/u799303375/public_html/beta/private/Test/test.php中给出的参数为1
我不知道如何解决这个问题
请帮助我,如果你需要一个有效的例子,请立即询问不包括在内!
答案 0 :(得分:1)
通过PHP文档,fopen($ fn,“w +”)将文件指针设置为文件的开头,并将文件截断为零长度。我的假设是fread不接受文件大小为0(零)作为有效参数值。
从您的代码段看起来就像是在尝试附加到此文件。您可能想尝试不同的fopen模式,例如“a +”。这将打开文件进行读写,将指针设置在文件的末尾。如果该文件不存在,它将尝试创建它。
如果你想读取文件的全部内容(看起来你正试图这样做); fread文档建议使用file_get_contents()命令。在您写入文件并关闭它之后,请尝试以下命令:
$ text = file_get_contents($ fn);
从你的代码片段来看,这看起来并不是必要的。
答案 1 :(得分:0)
fread()需要资源和int
string fread ( resource $handle , int $length )
你检查了你的$ size参数吗? 这可能是假的。这可能会导致错误。