我正在使用一个页面,用户可以输入一个ID然后传递给Controller。此Controller处理ID并生成uniqID。使用此uniqID,将在服务器上生成新文件夹。
现在有另一个PHP文件需要访问服务器上生成的文件夹。要访问正确的文件夹,文件需要生成的uniqID。
我用Sessions尝试过。但这是一个坏主意,因为用户可以在其他选项卡中向Controller发出多个请求,而对于会话,uniqID总是会被覆盖。
如何将uniqID从我的Controller传递给PHP文件?
答案 0 :(得分:2)
有很多方法可以完成这项任务。
以下是我很快想出的一些内容:
1)将键值映射存储在数据库中(键作为id,值作为唯一编号)
2)你也可以在会话中这样做因为每个id都有一个唯一的条目,一个数组KEY (id) => VALUE (unique id)
的会话也很好但是为了避免过度和一致,我建议你保存在数据库中进行映射。
Cons:
如果服务器重新启动,则不会对会话信息有任何线索。但这不是一个好习惯。
3)您可以使用归档,但是您需要编写适当的函数来检索和存储映射。
答案 1 :(得分:0)
您可以使用 PHPCURL 将数据发布到文件中。例如:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'yourfile.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $uniqueID['id']);
curl_exec($ch);
curl_close($ch);
在yourfile.php中,您可以获取数据:
if($_SERVER['REQUEST_METHOD'] == 'POST' AND isset($_POST['id'])){
//execute code...
}
答案 2 :(得分:0)
您可以将user_id和unique_folder_id存储在数据库表中,并从php文件中查找数据库并创建目录。
您可以添加标记"cookies" => array(
array("key" => "cookiename1", "value" => "cookievalue1"),
array("key" => "cookiename2", "value" => "cookievalue2")
)
,取0和1值,以检查文件夹是否已创建
或者,如果记录数量允许,您可以在尝试创建目录之前使用done
进行检查。