如何在文件末尾添加变量名称?

3

我创建了一个表单,将数据提交到服务器上的一个文件名。表单提交工作正常,会生成所请求的文件名 "we_input_.sts"。

我尝试使用以下代码从表单中获取两个变量 "bfstnme" 和 "gfstnme" 并将它们附加到文件名中,例如 "wed_import-Jane_Bill.sts"。

这是修改后的代码:但我仍然无法让它正常工作。

我正在尝试不同的方法以使其正确工作。我已经尝试过将代码移动到不同的位置,但显然我还是漏掉了一些东西。在 $savestring== 之前的最后一行是 "$fp=fopen("wed-import-.sts", "a+");
在 $savestring 之后的最后几行是:fwrite($fp,$savestring); fclose($fp);

<?php
$bfirstname = $_POST['bfstnme'];
$gfirstname = $_POST['gfstnme'];
$file = 'wed_import_.sts';
$current = file_get_contents($file);
$new_file = 'wed_input_'.$bfirstname.'&amp;'.$gfirstname.'.sts';
file_put_contents($new_file, $current);
?>

我相信你会在这里找到这个问题的答案:php创建或写入/追加文本文件 - Baldvin Th
请明确指出您的代码出了什么问题。它是以何种方式无法工作?文件未输出;异常错误;数据错误...? - Esoteric Screen Name
感谢您的评论。正确数据的文件正在创建,但未插入变量。我将尝试下面的建议。 - user4510229
@Ivan Conway 你有进展了吗? - Adrian Cid Almaguer
你好Adrian,我尝试了不同的代码变化,成功创建了所需的文件名,但是我仍然无法将所需的$savestring值调用到文件中。PHP代码在没有以下代码的情况下运行得非常完美,并生成了包含所有$savestring数据的“wed_import_.sts”文件。显然我漏掉了某些东西或者没有把代码放在正确的位置。 - user4510229
我目前正在尝试各种变化,但都没有成功。 (.$bfstnme''.$gfstnme); $fp = fopen("wed_import($names).sts", "a+"); - user4510229
4个回答

1

以下是我在所有相关人员的宝贵帮助下解决问题的方法。

$names .= ("$bfstnme" . "$gfstnme");
$fp = fopen("wed_import_($names).sts", "a+");

以上的结果给出了一个名为:"wed_Import_[JaneBill].sts"的文件名。我只需要弄清楚如何在名称之间放置一个和号(&)。谢谢所有人。

请执行以下代码:$names .= ("$bfstnme" ."&". "$gfstnme"); - Junius L

0

为什么你在写入文件之前不给它命名?

<?php
   $gfirstname = $_POST['gname'];
   $bfirstname = $_POST['bname'];
   $file = 'wed_input_Bride_Groom.sts';
   // Opens the file to get existing content hopefully
   $current = file_get_contents($file);
   // Appends bride and groom first names to the file hopefully
  $current .= ("gfirstname" . "bfirstname");
  $new_file = 'wed_input_'.$gfirstname.'_'.$bfirstname.'.sts';
  // Write the contents back to the file
 file_put_contents($new_file, $current);
 ?>

谢谢,这比我原来的方法更合理。我会试一试的。 - user4510229
感谢所有帮助过我的人,现在我的代码已经可以正常工作了。伊万 - user4510229

0
假设您将名称存储在名为$names的变量中。您可以使用FILE_APPEND标志轻松地附加文本,如下所示:
file_put_contents('wed_input_Bride_Groom.sts', $names, FILE_APPEND);

0

如果您想将信息放入文件中,必须将“+”更改为“.”,如下所示:

$current .= ("gfirstname" . "bfirstname");

如果您想更改名称,则必须像@Jay_P所说的那样进行操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接