我正在尝试使用用户提交的数据将内容写入文件。我有一些文字说“我的名字是”,并在此文本后我想写用户提交的值。我该怎么做呢?我尝试使用下面给出的代码执行此操作。
<?php
$fname=$_POST['fname'];
$lname=$_POST['lname'];
$my_file='file.txt';
$handle= fopen($my_file,'w+');
$data= 'My fname is $name and My lname is $lname';
$fwrite($handle,$data);
?>
当我运行此代码时,$ name不接受输入值并写为$name
,如
"My name is $name"
如何解决这个问题?
答案 0 :(得分:0)
要获取要输出的PHP变量,您需要使用双引号。
$data= "My name is $name";
或
$data = 'My name is '.$name;
答案 1 :(得分:0)
试试这个:
<?php
$name=$_POST['name'];
$my_file='file.txt';
$handle= fopen($my_file,'w+');
$data= 'My name is ' . $name;
$fwrite($handle, $data);
?>
答案 2 :(得分:0)
在将名称写入文件时,您需要访问变量$name
。你现在这样做的方式是不在字符串中添加变量的值。为此,您可以更改:
$data= 'My fname is $name and My lname is $lname';
到
$data= "My fname is $name and My lname is $lname";
双引号替换字符串文字中变量的值,因为在表达式中使用它之前,它会被计算。有关详细信息,请参阅this answer。
或
$data= 'My fname is '.$name.' and My lname is '.$lname;
这里,使用.
运算符将字符串文字与变量的值连接起来。
答案 3 :(得分:0)
你必须用变量连接你的字符串。
<?php
$name=$_POST['name'];
$my_file='file.txt';
$handle= fopen($my_file,'w+');
$data= 'My name is '.$name;
$fwrite($handle,$data);
$fclose($handle);
?>
答案 4 :(得分:0)
在PHP中,变量仅在双引号中返回值,单引号将其视为字符串。
答案 5 :(得分:0)
<?php
$fname=$_POST['fname'];
$lname=$_POST['lname'];
$my_file='file.txt';
$handle= fopen($my_file,'w+');
$data= "My fname is $name and My lname is $lname"; // Change the quote from single to double. for php to parse and replace the variable with it's value but single quote is a literal
$fwrite($handle,$data);
?>