| 
	| 
	
	| 
		
	| 
			
			 
			
				08.01.2017, 22:27
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 07.07.2016 
						Сообщений: 281
					 
		
 |  |  
	| 
				Создание папки с именем ID пользователя
			 Уважаемые форумчане нужна помощь. Как создать папку с именем ID авторизированного пользователя. ID пользователя показывается так:
 <?php echo "{$GLOBALS['user_login']->data['Id']}"; ?>.
 Папку создаю так:
 <?php
 if ($_POST['']);
 $folder = '/папка/';
 @mkdir($folder, 0777);
 ?>
 Как вставить глобальную переменную в php код, чтобы создалась папка с именем ID пользователя?
 |  |  
	| 
		
	| 
			
			 
			
				09.01.2017, 01:35
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| 
	
 
	| Сообщение от Sonya |  
	| if ($_POST['']); |  
	
 И что дальше то?
 
mkdir создавая директорию по умолчанию дает ей максимальные права, то есть:
 
if(выражение) @mkdir($folder . $GLOBALS['user_login']);
 
Определите выражение и..., только $_POST[''] даже представить не возможно, чего тут пытаются проверить, нет ключей "пусто". ) |  |  
	| 
		
	| 
			
			 
			
				09.01.2017, 07:32
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 07.07.2016 
						Сообщений: 281
					 
		
 |  |  
	| Директория создается при переходе на страницу. Имя папки должно быть числом (ID-ом пользователя, которое дается ему при регистрации, т.е. оно ему уже присвоено). Пользователь авторизирован и заходит на страницу по условию. Сам заход пользователя на страницу автоматически создает папку. Весь вопрос в присвоение папки имени (числа), которое является ID пользователя. $GLOBALS['user_login'] - может быть, как логином, так и E-mail пользователя (что указал).Вот так можно написать?
 @mkdir($folder . $GLOBALS['user_login']->data['Id']);
 |  |  
	| 
		
	| 
			
			 
			
				09.01.2017, 08:21
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| Можно и так  
@mkdir($folder . $GLOBALS['user_login']['Id']);
 
обрезанное, это всего лишь результат неудачного копирования.    Вот только создание папки при заходе на страницу, это как? Зашел раз, создана директория, опять зашел еще, и т.д.? |  |  
	| 
		
	| 
			
			 
			
				09.01.2017, 08:31
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 07.07.2016 
						Сообщений: 281
					 
		
 |  |  
	| Создается, если ее нет. Но при окончании манипуляций пользователя на странице, она из временной директории переносится в "рабочую", где через сутки удаляется. При следующем заходе все повторяется. |  |  
	| 
		
	| 
			
			 
			
				09.01.2017, 08:38
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| 
	
 
	| Сообщение от Sonya |  
	| Создается, если ее нет. |  
	
 Вот это уже условие - если нет, а не потому что перешли, а уж тем более не if ($_POST['']). Значит:
 
$usrdir = '/name/' . $GLOBALS['user_login']->data['Id']; 
if(!file_exists($usrdir)) mkdir($usrdir);
 
Хотя, в общем то некие временные данные в течении сессии можно хранить и в $_SESSION. |  |  
	| 
		
	| 
			
			 
			
				09.01.2017, 08:48
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 07.07.2016 
						Сообщений: 281
					 
		
 |  |  
	| Нет, так-то её там не может быть до перехода, но если пользователь обновит страницу, то ... До тех пор, пока пользователь не активировал функцию, она (папка) не нужна. Активировал - начался процесс, создания папки,  -> добавления в нее файлов, все устроило  -> её перенос. |  |  
	| 
		
	| 
			
			 
			
				09.01.2017, 09:01
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 07.07.2016 
						Сообщений: 281
					 
		
 |  |  
	| Я правильно поняла, что можно, как окончательный вариант, использовать так:<?php
 $usrdir = '/name/' . $GLOBALS['user_login']->data['Id'];
 if(!file_exists($usrdir)) mkdir($usrdir);
 ?>
 чтобы на "выходе" получить папку, например, 7375 (ID пользователя)?
 |  |  
	| 
		
	| 
			
			 
			
				09.01.2017, 09:05
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| Ну если страница доступна для всех, а не только для регистрированного пользователя, значит надо проверять вход (если это и есть вход): 
if($usr = $GLOBALS['user_login']->data['Id']) {
    $usrdir = '/name/' . $usr;
    if(!file_exists($usrdir)) mkdir($usrdir);
    //и т.д. чего то делаем
}
Что значит активировал функцию... в общем пишите согласно условиям. |  |  
	| 
		
	| 
			
			 
			
				09.01.2017, 09:09
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 07.07.2016 
						Сообщений: 281
					 
		
 |  |  
	| Нет, страница доступна только для зарегистрированных пользователей. |  |  |  |