使用变量作为文件名在PHP中写入文件

4
我有一个脚本,可以将给定的字符串写入文本文件...
我有通过PHP编写txt文件的经验...
当表单被提交时,我想要写入一个文件,并且我已经编写了写入到文件" users/user_txt/$username.txt "的脚本。但是它将文件名保存为$username.txt。
以下是代码:
$fp = fopen('users/user_txt/$username.txt', 'a+');
$fwrite = fwrite($fp, "," . $log_write);

这将创建一个空白的文本文件并将其追加,或在没有文件存在时创建文件...

然而,它将文件名保存为/$username.txt

我从表单中获取变量"$username",并且这个echo是正确的...

但是我需要它实际上创建的文件名是:

DJ-PIMP.txt

如果我在表单中提交我的用户名为DJ-PIMP...

我们假设我填写了表格并输入了用户名dave123

我需要脚本像这样写入文件:

$fp = fopen('users/user_txt/dave123.txt', 'a+');

我该如何编写代码,以便当我提交表单时(在表单提交后),变量$ username将为“dave123”。


可能是 使用用户输入的变量在 PHP 中设置文件名 的重复。 - Vismay Patil
1个回答

5

您上面提供的代码示例使用单引号,这会将所有内容都视为字面量。请改用:

$fp = fopen("users/user_txt/$username.txt",'a+'); $fwrite = fwrite($fp, "," . $log_write);

或者

$fp = fopen('users/user_txt/'.$username.'.txt', 'a+'); $fwrite = fwrite($fp, "," . $log_write);

$fp = fopen('users/user_txt/'.$username.'.txt', 'a+'); <<< 这个可以工作,谢谢 - DJ-P.I.M.P
Paul,感谢你的代码框编辑,我是用我的Droid发布答案的,所以没有格式选项... DJ PIMP哈哈,不确定为什么双引号解决方案会出错,它们应该是等价的。 - WebChemist

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