如何使用php,以便用户按下特定按钮时,可以写入特定的.txt文件?

如何使用php,以便用户按下特定按钮时,可以写入特定的.txt文件?,php,chat,Php,Chat,基本上,正如我所问的与php聊天应用程序相关的其他问题一样,我正在尝试获取它,以便在一个文本字段中通过msg.txt显示$msg。两个用户可以通过这种方式相互通信。如果我想使用一个简单的include函数,这将很容易。但是我不想费那么大的劲把这些页面都上传到我的服务器上。那么,当用户,比如Aaron,点击一个名为Benjamin的按钮,然后输入一个名为aaronbenjamin.txt的文件,如果Aaron想和另一个用户通话,他可以点击一个名为Chris的按钮,然后输入一个名为aaronchri

基本上,正如我所问的与php聊天应用程序相关的其他问题一样,我正在尝试获取它,以便在一个文本字段中通过msg.txt显示$msg。两个用户可以通过这种方式相互通信。如果我想使用一个简单的include函数,这将很容易。但是我不想费那么大的劲把这些页面都上传到我的服务器上。那么,当用户,比如Aaron,点击一个名为Benjamin的按钮,然后输入一个名为aaronbenjamin.txt的文件,如果Aaron想和另一个用户通话,他可以点击一个名为Chris的按钮,然后输入一个名为aaronchris.txt的文件,我怎么能做到呢?并且都来自同一个框和文本字段?谢谢,我很感激

编辑:这是我的代码-


好吧,关于你的评论,你应该了解。如果您充分阅读了该教程,它将回答您关于表单和php的所有问题

至于让它写入不同的文本文件,因为你似乎担心“上传所有这些页面”,你会很高兴知道有一个简单的解决方案

有一个名为的函数,它将创建或写入文件

由于您是PHP新手,下面是一个示例:

<?php

$file = 'hello.txt';
$text = 'Hello World!';

file_put_contents($file, $text);

?>
这将显示$file的内容

现在,进入问题的细节,如果表单设置了一个“to”和一个“from”GET变量,其中“to”是您的用户名,那么下面的代码将根据您给出的模式将“message”GET变量中的值写入文件:

<?php

$to = addslashes($_GET['to']);
$from = addslashes($_GET['from']);
$msg = addslashes($_GET['message']);
//addslashes is used as a small security measure

$file = $to . $from . '.txt';
file_put_contents($file, $msg);

?>

这将从GET数组中获取变量,在一定程度上对它们进行清理,设置文件名,并将消息写入文件


如果您对本手册的具体部分有任何疑问,或者您希望我提供更多详细信息,请随时提问

这是如何写入文件:

您最好使用数据库tho

要使不同的链接做不同的事情,可以按照建议使用AJAX,也可以使用GET变量在PHP端路由函数。后者更容易,但意味着用户按下按钮后,您需要重新加载页面

这里有一个小演示:

<a href="thispage.php?clicked=1">click here</a>

希望对您有所帮助首先欢迎,您知道如何使用php创建和写入文件吗。为什么不使用数据库呢?是的,但是SQL不适合我,所以我使用的是.txt。我知道怎么做,但问题不在于写入数据库,而是单击同一页面上的不同按钮,让它写入不同的数据库。有意义吗?我对php有点陌生。然而,有没有类似于OnClick类型的东西?假设在html中单击了一个特定的按钮,然后使用php联系服务器时会发生一个特定的操作?如果是的话,这个函数的基本语法是什么?我需要使用AJAX吗?如果是这样,怎么做?如果你想在没有AJAX的情况下做到这一点,请阅读我的文章。不需要fopen,这不会使简单的
文件\u get\u contents
过于复杂吗?根据我的经验,文件\u get\u contents通常会导致权限错误,尤其是在本地服务器上工作时。这取决于特定的服务器设置。fopen并没有那么难,是吗?
file\u get\u contents
只是
fopen
/
fread
的一个方便的包装器-它们两个的权限错误总是相同的。我还没有从file\u get\u contents中得到权限错误。如果它确实给出错误,请尝试CHMOD 0777而不是0644,这可能很危险!你要求被黑客攻击。我是凭经验说的!我希望这里有一个“喜欢”按钮:)向上箭头相当于“喜欢”:-)它说我需要建立我的声誉。我该怎么做?如果答案解决了您的问题,请按向上箭头下方的复选标记将其标记为正确答案@马修在你自己的问题上获得别人的投票是一个获得声望的简单方法
<a href="thispage.php?clicked=1">click here</a>
 if($_GET['clicked']==1){--write to file1---}
 else if($_GET['clicked']==2){--write to file2---}