在不同用户之间分离功能

时间:2015-06-29 00:15:32

标签: php session session-variables

长话短说 - 我有一个按钮,可以生成一个用于特定点击的文件。

目前,如果有两个人登录页面,当第二个人点击该按钮时,它会搞砸第一个人的文件,因为每个用户的页面都会更改。

如何分离操作,以便无论有多少人点击该按钮,他们都会生成自己的文件?

我读到了关于PHP会话的内容,但我发现的解释非常基本,而且我不确定这是不是我的追求。能否请您提出解决方案并指出我要阅读的内容?

提前致谢并抱歉这个蹩脚的问题。

编辑:

感谢您的确认。在这种情况下,请你检查一下是否有意义。这是我当前的文件生成PHP:

<?php  
$extension = ".txt";  
$fname = "temp/" . substr(md5(rand()), 0, 7).$extension;  
$file = fopen($fname, 'w');  
?>  

如果我将其更改为以下内容,是否会为每个会话创建一个新文件名:

<?php
session_start();
$extension = ".txt";  
$_SESSION["filename"] = "temp/" . substr(md5(rand()), 0, 7).$extension;  
$file = fopen($_SESSION["filename"], 'w');  
?>

然后我需要通过变量$ _SESSION [&#34; filename&#34;]来调用文件名?

我知道这是一些非常基本的东西,但我以前不必使用它们。

1 个答案:

答案 0 :(得分:1)

如您所知,php会话可用于您的问题。以下是您的解决方案的样子

<?php
// Start the session
session_start();

//set your session variables per user
$_SESSION["userName"] = "Jimmy";
$_SESSION["userCity"] = "Miami";

//then call your session data like this wherever you need it
echo "username is " . $_SESSION["userName"];

?>

更多信息。您的随机名称生成器代码看起来可以工作。另一种方法是始终唯一,工作量少,可以帮助您查看创建文件的时间是使用UNIX时间戳命名文件。这是自UNIX纪元以来的秒数。

TL:博士 我会做这样的事情

$fileName = time();      //outputs something  like 1435540343
$_SESSION["filename"] = "temp/".$fileName.$extension;  //out -> 1435540343.txt