长话短说 - 我有一个按钮,可以生成一个用于特定点击的文件。
目前,如果有两个人登录页面,当第二个人点击该按钮时,它会搞砸第一个人的文件,因为每个用户的页面都会更改。
如何分离操作,以便无论有多少人点击该按钮,他们都会生成自己的文件?
我读到了关于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;]来调用文件名?
我知道这是一些非常基本的东西,但我以前不必使用它们。
答案 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