基本上,正如我在其他问题中提到的与我的php聊天应用程序相关的问题,我试图得到它,以便有一个文本字段,其中$ msg通过msg.txt显示。两个用户可以这种方式与另一个用户通信。如果我想使用简单的include函数,这将很容易。但我不想麻烦地把所有这些页面上传到我的服务器。那么,当用户(名为Aaron)点击标题为Benjamin的按钮并键入一个名为aaronbenjamin.txt的文件时,如果Aaron想要与另一个用户交谈,他可以按下标题为Chris的按钮。 ,并键入名为aaronchris.txt的文件?所有来自同一个框和文本字段?谢谢,我很感激。
编辑:这是我的代码 -
答案 0 :(得分:1)
嗯,关于你的评论,你应该了解using forms with PHP。如果您完全阅读该教程,它应该回答您关于表单和php的所有问题。
至于将其写入不同的文本文件,因为您似乎担心“上传所有这些页面”,您会很高兴知道这是一个简单的解决方案!
有一个名为file_put_contents
的函数,它将创建或写入文件。
因为你是PHP的新手(ish),这是一个例子:
<?php
$file = 'hello.txt';
$text = 'Hello World!';
file_put_contents($file, $text);
?>
这会将$text
变量的内容放入名称存储在$file
的文件中。
使用file_get_contents
从文件中读取同样容易。
假设文件hello.txt
之前存在且内容相同,您可以使用以下代码从文件中读取并输出其内容:
<?php
$file = 'hello.txt';
echo(file_get_contents($file));
?>
这将显示$ file的内容。
现在,进入问题的细节,如果您的表单设置了“to”和“from”GET变量,其中“to”已经是您的用户名,那么以下代码会将值写入“消息”中根据您提供的模式将变量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数组中获取变量,在某种程度上清理它们,设置文件名,并将消息写入文件。
如果您对此的具体部分有任何疑问,或者您希望我详细了解,请随时询问!
答案 1 :(得分:1)
这是写入文件的方法: http://php.net/manual/en/function.fopen.php
你最好还是使用数据库。
要使不同的链接执行不同的操作,您可以按照建议使用AJAX,也可以使用GET变量在PHP端路由函数。后者更容易,但意味着您需要在用户按下按钮后重新加载页面。
这是一个小小的演示:
<a href="thispage.php?clicked=1">click here</a>
然后在php的页面顶部:
if($_GET['clicked']==1){--write to file1---}
else if($_GET['clicked']==2){--write to file2---}
希望有所帮助