Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.01.2017, 22:27
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Создание папки с именем ID пользователя
Уважаемые форумчане нужна помощь. Как создать папку с именем ID авторизированного пользователя.
ID пользователя показывается так:
<?php echo "{$GLOBALS['user_login']->data['Id']}"; ?>.
Папку создаю так:
<?php
if ($_POST['']);
$folder = '/папка/';
@mkdir($folder, 0777);
?>
Как вставить глобальную переменную в php код, чтобы создалась папка с именем ID пользователя?
Ответить с цитированием
  #2 (permalink)  
Старый 09.01.2017, 01:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Sonya
if ($_POST['']);
И что дальше то?

mkdir создавая директорию по умолчанию дает ей максимальные права, то есть:

if(выражение) @mkdir($folder . $GLOBALS['user_login']);


Определите выражение и..., только $_POST[''] даже представить не возможно, чего тут пытаются проверить, нет ключей "пусто". )
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2017, 07:32
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Директория создается при переходе на страницу. Имя папки должно быть числом (ID-ом пользователя, которое дается ему при регистрации, т.е. оно ему уже присвоено). Пользователь авторизирован и заходит на страницу по условию. Сам заход пользователя на страницу автоматически создает папку. Весь вопрос в присвоение папки имени (числа), которое является ID пользователя. $GLOBALS['user_login'] - может быть, как логином, так и E-mail пользователя (что указал).
Вот так можно написать?
@mkdir($folder . $GLOBALS['user_login']->data['Id']);
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2017, 08:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Можно и так
@mkdir($folder . $GLOBALS['user_login']['Id']);


обрезанное, это всего лишь результат неудачного копирования. Вот только создание папки при заходе на страницу, это как? Зашел раз, создана директория, опять зашел еще, и т.д.?
Ответить с цитированием
  #5 (permalink)  
Старый 09.01.2017, 08:31
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Создается, если ее нет. Но при окончании манипуляций пользователя на странице, она из временной директории переносится в "рабочую", где через сутки удаляется. При следующем заходе все повторяется.
Ответить с цитированием
  #6 (permalink)  
Старый 09.01.2017, 08:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Sonya
Создается, если ее нет.
Вот это уже условие - если нет, а не потому что перешли, а уж тем более не if ($_POST['']). Значит:

$usrdir = '/name/' . $GLOBALS['user_login']->data['Id']; 
if(!file_exists($usrdir)) mkdir($usrdir);


Хотя, в общем то некие временные данные в течении сессии можно хранить и в $_SESSION.
Ответить с цитированием
  #7 (permalink)  
Старый 09.01.2017, 08:48
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Нет, так-то её там не может быть до перехода, но если пользователь обновит страницу, то ... До тех пор, пока пользователь не активировал функцию, она (папка) не нужна. Активировал - начался процесс, создания папки, -> добавления в нее файлов, все устроило -> её перенос.
Ответить с цитированием
  #8 (permalink)  
Старый 09.01.2017, 09:01
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Я правильно поняла, что можно, как окончательный вариант, использовать так:
<?php
$usrdir = '/name/' . $GLOBALS['user_login']->data['Id'];
if(!file_exists($usrdir)) mkdir($usrdir);
?>
чтобы на "выходе" получить папку, например, 7375 (ID пользователя)?
Ответить с цитированием
  #9 (permalink)  
Старый 09.01.2017, 09:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну если страница доступна для всех, а не только для регистрированного пользователя, значит надо проверять вход (если это и есть вход):
if($usr = $GLOBALS['user_login']->data['Id']) {
    $usrdir = '/name/' . $usr;
    if(!file_exists($usrdir)) mkdir($usrdir);
    //и т.д. чего то делаем
}


Что значит активировал функцию... в общем пишите согласно условиям.
Ответить с цитированием
  #10 (permalink)  
Старый 09.01.2017, 09:09
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Нет, страница доступна только для зарегистрированных пользователей.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод пользователя на нужное окно в браузере oopros Общие вопросы Javascript 11 21.11.2016 15:06
React и контент в зависимости от типа пользователя hound Библиотеки/Тулкиты/Фреймворки 8 19.11.2016 21:03
Создание примитива с таким же именем как у уже существующего свойства функции lancer Общие вопросы Javascript 7 29.07.2013 20:23
Валидация пользователя по IP-адресу lazerru Общие вопросы Javascript 1 03.04.2013 12:40
Создание своей библиотеки. Создание двух одинаковых объектов. Как избежать? IDCh Javascript под браузер 2 31.10.2012 12:53