PHP使用用户提交的数据将内容写入文件

时间:2015-03-03 11:21:57

标签: php file-handling

我正在尝试使用用户提交的数据将内容写入文件。我有一些文字说“我的名字是”,并在此文本后我想写用户提交的值。我该怎么做呢?我尝试使用下面给出的代码执行此操作。

<?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"

如何解决这个问题?

6 个答案:

答案 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);
?>