PHP fopen()和fwrite()不起作用?

时间:2015-03-18 15:08:38

标签: php wamp

我想在用户按下按钮时执行php脚本。在我的html文件中,我使用了jquery脚本

<script>
        $(document).ready(function(){
            $(".btn").click(function(){

                var firstname = $("#firstname").val();
                var lasname = $("#lastname").val();
                var dataNames = { 'firstnameVal' : firstname};
                $.post("SaveNames.php",dataNames,function()
                       {
                    alert("hi");
                });
            });   
        });                
    </script>

<input type="text" id="firstname" name="firstname">
<input type="text" id="lastname" name="lastname">

在我的php文件中我从这里使用了一些帮助

<?php

if (isset($_POST["fistname"]))
{
        $firstname = $_POST["firstname"];
        $SavedNames = fopen("Names.txt","w");

        $NamesText = "Its Work!";

        fwrite($SavedNames,$NamesText);
        fclose($SavedNames);
}
?>

问题是fopen()无法正常工作(不创建文件),我尝试创建文件以检查fwrite()是否有效,但它也是没有工作。

我使用localhost wamp服务器。

5 个答案:

答案 0 :(得分:1)

尝试设置文件的完整路径:

fopen("c:\\folder\\Names.txt", "w");

确保将文件权限设置为c:\\folder\\正确(可写)。注意低/大写命名。

答案 1 :(得分:0)

尝试这是否有效:

if (isset($_POST["firstname"]))
{
        $firstname = $_POST["firstname"];
        if(file_put_contents("Names.txt", $firstname) !== false)
            echo "It works!\n";
}

答案 2 :(得分:0)

首先,isset($_POST["fistname"]),你拼错了“名字”。

其次,在php端你使用$_POST['firstname']。但是在javascript中,你有

var dataNames = { 'firstnameVal' : firstname};

尝试

var dataNames = { 'firstname' : firstname};

答案 3 :(得分:0)

如上所述,请尝试检查您尝试编写的文件夹是否存在并具有写入权限。但首先要清除错误拼写错误和变量名称。下面的代码将使用您在括号中声明的名称发布值。所以在你的例子中firstnameVal。因此,您需要检查此POST值是否存在。

var dataNames = { 'firstnameVal' : firstname};

如果这不起作用,请使用php函数var_dump [&#39; variableName&#39;]; post方法后显示数据。因此,您可以处理文件中的数据流。

答案 4 :(得分:0)

问题来自wampserver我重新安装它并且工作