我正在尝试将内容写入包含用户提交数据的文件。我有一些文本说"我的名字是",在这个文本之后,我想写下用户提交的值。我该怎么做?我试图用下面给出的代码来做这件事。
<?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"
如何解决此问题?
在将名称写入文件时,需要访问变量$name
。现在执行此操作的方式不会在字符串中添加变量的值。为此,您可以更改:
$data= 'My fname is $name and My lname is $lname';
至
$data= "My fname is $name and My lname is $lname";
双引号替换字符串文字中变量的值,因为在表达式中使用该值之前对其求值。有关更多信息,请参阅此答案。
或
$data= 'My fname is '.$name.' and My lname is '.$lname;
这里,使用.
运算符将字符串文字与变量的值连接起来。
要输出PHP变量,需要使用双引号。
$data= "My name is $name";
或
$data = 'My name is '.$name;
试试这个:
<?php
$name=$_POST['name'];
$my_file='file.txt';
$handle= fopen($my_file,'w+');
$data= 'My name is ' . $name;
$fwrite($handle, $data);
?>
您必须将字符串与变量连接起来。
<?php
$name=$_POST['name'];
$my_file='file.txt';
$handle= fopen($my_file,'w+');
$data= 'My name is '.$name;
$fwrite($handle,$data);
$fclose($handle);
?>
在PHP中,变量只以双引号返回值,单引号将其视为字符串。
<?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);
?>