PHP - No puedo crear directorio con mkdir()

 
Vista:
sin imagen de perfil

No puedo crear directorio con mkdir()

Publicado por Jose (10 intervenciones) el 08/11/2016 23:17:58
El problema es que tengo que crear un registro que cree una carpeta de cada usuario que se registra, se que es muy basico pero el mayor problema ahora es que no me crea el directorio y ya le di permisos a la carpeta donde esta el archivo y al archivo solo. Paso el code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
 
 
$conexion=mysqli_connect("servidor", "user","pw","db");
 
$user = $_POST["usuario"];
$email = $_POST["correo"];
$pw = $_POST["password"];
 
$insertar = "INSERT INTO `tabla`(`user`, `password`, `email`) VALUES ('$user', '$pw', '$email')";
 
$resutaldo = mysqli_query($conexion, $insertar);
 
$carpeta = "/users/$user";
 
 
if(!$resutaldo){
	echo 'Error al registrarse';
} else {
	if (!is_dir($carpeta)) {
		mkdir($carpeta,0777);
	}
	header('Location: /login/index.html');
}
mysqli_close($conexion);

Gracias por el tiempo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

No puedo crear directorio con mkdir()

Publicado por kip (877 intervenciones) el 08/11/2016 23:34:13
Hola, en lugar de usar is_dir() intenta con file_exists() que ademas de verificar archivos tambien verifica si existen directorios.

1
2
3
if (!file_exists($carpeta)) {
	mkdir($carpeta,0777);
}

http://php.net/manual/es/function.file-exists.php

Nos comentas si pudiste resolverlo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No puedo crear directorio con mkdir()

Publicado por Jose (10 intervenciones) el 08/11/2016 23:40:19
Lo probe pero sigue sin funcionar, no me crea el directorio.
Tambien probe haciendolo por ftp_mkdir() pero lo mismo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

No puedo crear directorio con mkdir()

Publicado por kip (877 intervenciones) el 08/11/2016 23:54:54
Tienes ya creada la carpeta user que sera la que contendra la carpeta creada del usuario en cuestion?

Si no es asi intenta crearla aplicando de forma recursiva mkdir(), asi:

1
mkdir($carpeta, 0777, true);

Ahora bien si aquello tampoco funciona debes tener algun problema con respecto a los permisos, si es asi deberia mostrarte algun error pero depende si tu servidor esta configurado para mostrar errores, en tal caso deberias hacer que los muestre para verificar si es o no problema de permisos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No puedo crear directorio con mkdir()

Publicado por Jose (10 intervenciones) el 09/11/2016 00:36:04
Si la tengo creada a la carpeta, voy a probar borrandola y haciendolo de la forma recursiva. Tambien podria ser un error de la direccion? porque yo pongo

1
$carpeta = "usuarios/$user";

El $user no causara problema?

Sobre los permisos ya se los di, ya si no lo puedo resolver como dijimos arriba voy a hablar con los del servidor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

No puedo crear directorio con mkdir()

Publicado por kip (877 intervenciones) el 09/11/2016 00:48:04
Colocas asi el path ?

1
$carpeta = "usuarios/$user";

No te andara bien, debes colocar el / antes de usuarios, ademas por si te da problemas la variable colocala entre {}, asi:

1
$carpeta = "/usuarios/{$user}";

Nos cuentas como vas con aquello.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No puedo crear directorio con mkdir()

Publicado por Jose (10 intervenciones) el 09/11/2016 00:53:39
Lo hice como me dijiste y sigue igual, nada. Ni error. Error de codigo no creo que sea porque me saltaria error de php cuando cargo eso.

Los errores si los muestra porque antes escribi mal una funcion y me aviso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

No puedo crear directorio con mkdir()

Publicado por kip (877 intervenciones) el 09/11/2016 01:14:44
1
if (!mkdir($carpeta,0777)) { die('Fallo al crear la carpeta...'); }

Ahora intentalo asi, directamente probando con mkdir, sin verificar si existe la carpeta, si no se crea te mostrara aquel mensaje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No puedo crear directorio con mkdir()

Publicado por Jose (10 intervenciones) el 09/11/2016 02:07:16
Si, me da ese error, no se de que puede llegar a ser
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

No puedo crear directorio con mkdir()

Publicado por kip (877 intervenciones) el 09/11/2016 02:25:36
En tal caso verifiquemos si tiene los permisos (me intuyo mas que ese es el problema):

1
echo substr(sprintf('%o', fileperms('/usuarios')), -4);

De esa forma te mostrara los permisos que tiene la carpeta usuarios, ademas de eso debes verificar que el script tenga los permisos de poder ejecutar mkdir(), intenta colocar esta linea para ver si te muestra error (te lo digo porque muchos servidores estan configurados para no mostrarlos):

1
2
error_reporting(E_ALL);
ini_set('display_errors', 1);

Comentanos....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No puedo crear directorio con mkdir()

Publicado por Jose (10 intervenciones) el 09/11/2016 02:35:27
Lo hice y me da como resultado un 0, nada mas.

Te paso codigo completo para ver si lo estoy poniendo bien porque quizas lo ubique mal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
 
$conexion=mysqli_connect("server", "user","pw","db");
 
$user = $_POST["usuario"];
$email = $_POST["correo"];
$pw = $_POST["password"];
 
$insertar = "INSERT INTO `usuarios`(`user`, `password`, `email`) VALUES ('$user', '$pw', '$email')";
$carpeta="/users/{$user}";
 
$resutaldo = mysqli_query($conexion, $insertar);
 
 
if(!$resutaldo){
	echo 'Error al registrarse';
} else {
	mkdir($carpeta,0777);
 
	echo substr(sprintf('%o', fileperms('/users')), -4);
	error_reporting(E_ALL);
	ini_set('display_errors', 1);
	//header('Location: /login/index.html');
}
mysqli_close($conexion);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

No puedo crear directorio con mkdir()

Publicado por kip (877 intervenciones) el 09/11/2016 02:55:16
Esta parte de aca colocala al inicio del archivo:

1
2
error_reporting(E_ALL);
ini_set('display_errors', 1);

Por cierto, el archivo se encuentra en el mismo directorio donde esta la carpeta users?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

No puedo crear directorio con mkdir()

Publicado por Jose (10 intervenciones) el 09/11/2016 03:32:31
Disculpa por molestar jajaj, encontre el problema. Era la ruta, no la ponia desde la raiz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar