【问题标题】:Separating functionality between different users在不同用户之间分离功能
【发布时间】:2015-06-29 00:15:31
【问题描述】:

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

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

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

我阅读了有关 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["filename"] 调用文件名?

我知道这是一些非常基本的东西,但我以前没用过。

【问题讨论】:

  • 是的..会话..广泛

标签: php session session-variables


【解决方案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

【讨论】:

  • 感谢您的回复,因为您确认这是我正在寻找的会话,所以我编辑了我最初的评论并添加了更多上下文。
  • 有道理。我只需要确认我正在寻找正确的方向。感谢您的时间和建议:)
猜你喜欢
  • 2014-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-05
  • 1970-01-01
  • 2021-06-22
相关资源
最近更新 更多