PHP fopen() 和 fwrite() 不起作用?
PHP fopen() and fwrite() dont work?
我想要一个 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()
是否工作,但它也没有工作。
我使用本地主机 wamp 服务器。
尝试一下是否可行:
if (isset($_POST["firstname"]))
{
$firstname = $_POST["firstname"];
if(file_put_contents("Names.txt", $firstname) !== false)
echo "It works!\n";
}
首先,isset($_POST["fistname"])
,你拼错了"firstname"。
其次,在 php 一侧使用 $_POST['firstname']
。但是在javascript中,你有
var dataNames = { 'firstnameVal' : firstname};
试试
var dataNames = { 'firstname' : firstname};
如前所述,请尝试检查您要写入的文件夹是否存在以及是否具有写入权限。但首先要清除拼写错误和变量名。下面的代码将使用您在括号中声明的名称 post 值。所以在你的例子中 firstnameVal。所以你需要检查这个 POST 值是否存在。
var dataNames = { 'firstnameVal' : firstname};
如果这不起作用,请使用 php 函数 var_dump['variableName'];在 post 方法之后显示数据。这样您就可以处理文件中的数据流。
尝试设置文件的完整路径:
fopen("c:\folder\Names.txt", "w");
确保文件权限设置正确(可写)为 c:\folder\
。注意lower-/uppercase命名。
问题出在 wampserver 上,我重新安装了它,有效。
我想要一个 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()
是否工作,但它也没有工作。
我使用本地主机 wamp 服务器。
尝试一下是否可行:
if (isset($_POST["firstname"]))
{
$firstname = $_POST["firstname"];
if(file_put_contents("Names.txt", $firstname) !== false)
echo "It works!\n";
}
首先,isset($_POST["fistname"])
,你拼错了"firstname"。
其次,在 php 一侧使用 $_POST['firstname']
。但是在javascript中,你有
var dataNames = { 'firstnameVal' : firstname};
试试
var dataNames = { 'firstname' : firstname};
如前所述,请尝试检查您要写入的文件夹是否存在以及是否具有写入权限。但首先要清除拼写错误和变量名。下面的代码将使用您在括号中声明的名称 post 值。所以在你的例子中 firstnameVal。所以你需要检查这个 POST 值是否存在。
var dataNames = { 'firstnameVal' : firstname};
如果这不起作用,请使用 php 函数 var_dump['variableName'];在 post 方法之后显示数据。这样您就可以处理文件中的数据流。
尝试设置文件的完整路径:
fopen("c:\folder\Names.txt", "w");
确保文件权限设置正确(可写)为 c:\folder\
。注意lower-/uppercase命名。
问题出在 wampserver 上,我重新安装了它,有效。