fwrite函数不向文件写入任何内容

时间:2014-03-03 19:43:26

标签: php


我试图将数据写入txt文件,但它不起作用。没有错误。它不会起作用。
这是代码

if (isset($_REQUEST['submit']))
    {
        $hour = $_REQUEST['hour'];
        $family = $_REQUEST['family'];
        $how = $_REQUEST['how'];
        $will = $_REQUEST['will'];
        $fun = $_REQUEST['fun'];
        $kind = $_REQUEST['kind'];
        $device = $_REQUEST['device'];
        $study = $_REQUEST['study'];
        $agree = $_REQUEST['agree'];
        $text = "hour :" . $hour . "<br />" . "family" . $family . "<br />" . "تطابفق با درس" . $how . "<br />" . "سرگرمی های غیر مجازی : " . $will . "<br />" . "نوع سرگرمی :" . $fun . "<br />" . "kind :  " . $kind . "<br />" . "device " . $device . "<br />" . "اثیر بر درس" . $study . "<br />" . "کنترل " . $agree . "<br />" ;
        fopen('/1.txt', "r");
        fwrite('/1.txt',"hour :" . $hour . "<br />" . "family" . $family . "<br />" . "تطابفق با درس" . $how . "<br />" . "سرگرمی های غیر مجازی : " . $will . "<br />" . "نوع سرگرمی :" . $fun . "<br />" . "kind :  " . $kind . "<br />" . "device " . $device . "<br />" . "اثیر بر درس" . $study . "<br />" . "کنترل " . $agree . "<br />");
        fclose('/1.txt');

    }

请注意,有一个“else”,其中包含我在代码中使用的所有上述输入字段,以及我在localhost上执行的字段。 感谢

4 个答案:

答案 0 :(得分:6)

由于您以只读方式打开它,因此无法写入:

$handle = fopen('/1.txt', "r");

相反:

$handle = fopen('/1.txt', "w"); // to write only, if you need to read and write use 'w+'

您还需要将fopen存储在$ handle中,以便稍后可以写入。

文档:http://www.php.net/manual/en/function.fopen.php

现在fwrite的第一个参数应该是$handle

fwrite($handle, "hour :" . $hour . "<br />" . "family" . $family . "<br />" . "تطابفق با درس" . $how . "<br />" . "سرگرمی های غیر مجازی : " . $will . "<br />" . "نوع سرگرمی :" . $fun . "<br />" . "kind :  " . $kind . "<br />" . "device " . $device . "<br />" . "اثیر بر درس" . $study . "<br />" . "کنترل " . $agree . "<br />");

文档:http://www.php.net/manual/en/function.fwrite.php

最后,您还应该使用$handle

结束
fclose($handle);

文档:http://www.php.net/manual/en/function.fclose.php

答案 1 :(得分:2)

您正在以只读方式打开文件,r使用w代替。你需要传递fwrite作为第一个参数的fopen的返回,而不是文件名:

$f = fopen('/1.txt', "w");
fwrite($f,"hour :" . $hour . "<br />" . "family" . $family . "<br />" . "تطابفق با درس" . $how . "<br />" . "سرگرمی های غیر مجازی : " . $will . "<br />" . "نوع سرگرمی :" . $fun . "<br />" . "kind :  " . $kind . "<br />" . "device " . $device . "<br />" . "اثیر بر درس" . $study . "<br />" . "کنترل " . $agree . "<br />");
fclose($f);

答案 2 :(得分:0)

您必须传入'w'才能写入文件。

$handle = fopen('/1.txt', "w");

传入'r'会使你打开一个'只读'文件。

答案 3 :(得分:0)

更简单:

file_put_contents('/1.txt', $text);