2015-06-29 4 views
-2

Короче говоря - у меня есть кнопка, которая генерирует файл, который используется для этого конкретного клика.Разделительная функциональность между разными пользователями

В настоящий момент, если два человека заходят на страницу, а вторая нажимает кнопку, она будет забивать первый файл, поскольку страница изменяется для каждого отдельного пользователя.

Как я могу отделить действия, чтобы независимо от того, сколько людей нажимают на эту кнопку, у них будет собственный файл?

Я читал о сессиях PHP, однако объяснения, которые я нашел, чрезвычайно просты, и я не уверен, что это то, что я хочу. Можете ли вы предложить решение и указать мне направление на чтение?

Спасибо заранее и извините за хромой вопрос.

EDIT:

Благодарим Вас за подтверждение этого. В этом случае, пожалуйста, проверьте, имеет ли смысл следующее. Это мой текущий 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"]?

Я знаю, что это действительно очень простой материал, однако мне не приходилось использовать их раньше.

+1

да .. сессии .. на широкие –

ответ

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.

ТЛ: д-р Я хотел бы сделать что-то вроде этого

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

Спасибо за ответ, я редактировал мой первоначальный комментарий с немного больше контекста, так как вы подтвердили это сессии Я ищу. – Neekoy

+0

Имеет смысл. Мне просто нужно подтверждение, что я смотрю в правильном направлении. Спасибо за ваше время и предложение :) – Neekoy

Смежные вопросы