Foros del Web » Programando para Internet » PHP »

Creación de carpetas

Estas en el tema de Creación de carpetas en el foro de PHP en Foros del Web. Hola, estoy intentando crear carpetas pero me está dando siempre problemas diferentes, así que la forma en la que lo estoy haciendo, se ve no ...
  #1 (permalink)  
Antiguo 13/01/2013, 19:42
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 10 meses
Puntos: 0
Creación de carpetas

Hola, estoy intentando crear carpetas pero me está dando siempre problemas diferentes, así que la forma en la que lo estoy haciendo, se ve no es la correcta xD

Código:
Código PHP:
$ruta $_SERVER['DOCUMENT_ROOT'].'/fotos/'.$_SESSION['usuario_id'].'perfil';

if(!
is_dir($ruta))
{
mkdir ($ruta);

El primer problema es que me crea la carpeta "usuario_idperfil" y no me crea la carpeta "perfil" dentro de la carpeta "usuario_id".. entiendo que es por no poner la barra antes de /perfil, pero si pongo eso, por ejemplo $_SESSION['usuario_id'].'/perfil' , no me crea ninguna carpeta, directamente.

El segundo problema es que lo estoy probando hacer en el localhost y me va bien (menos para mostrar la imagen, para eso en vez de root tengo qe poner ../), pero cuando lo hago en el servidor, no me crea las carpetas, y eso que yo ya creé la carpeta "fotos" y le di 777.... mismo también si pongo mkdir($ruta, 0777) tampoco lo crea... tengo qe modificar algo en el php.ini o el htacces?

Espero su respuesta, ya que debe ser una bobada que yo no sé (y no encontré solución en el buscador XD). Graciaaaaaaaas!
  #2 (permalink)  
Antiguo 13/01/2013, 21:56
Avatar de alvidales  
Fecha de Ingreso: febrero-2012
Mensajes: 108
Antigüedad: 12 años, 10 meses
Puntos: 11
Respuesta: Creación de carpetas

Buscate una propiedad que se llama "umask"para que puedas tener un mejor manejo con los permisos
  #3 (permalink)  
Antiguo 13/01/2013, 23:01
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Creación de carpetas

Muchas gracias alvidales!! Lo pude solucionar con umask

Ahora lo que me falta solucionar es lo de crear la carpeta correctamente... voy a seguir viendo a ver que puede ser. Graciaaas! :D
  #4 (permalink)  
Antiguo 13/01/2013, 23:30
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Creación de carpetas

Bueno, ya solucioné la parte de crear las carpetas "bien".. usé dos mkdir
Código PHP:
$ruta "{$_SERVER['DOCUMENT_ROOT']}/fotos/{$_SESSION['usuario_id']}";
$perfil '/perfil';

mkdir ($ruta);
mkdir ($ruta $perfil); 
Me gustaría saber por qué poniendo ...{$_SESSION['usuario_id']}/PERFIL"; no me creaba nada. Muchas gracias a los que entraron al post para responder también!
  #5 (permalink)  
Antiguo 13/01/2013, 23:43
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Creación de carpetas

Lee los parámetros de la función, sobretodo el recursive:

Cita:
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
Prueba usándolo.

Un ejemplo del manual:

Código PHP:
Ver original
  1. // Estructura de carpeta deseada
  2. $estructura = './depth1/depth2/depth3/';
  3.  
  4. // Para crear una estructura anidada se debe especificar el parámetro $recursive
  5. // en mkdir().
  6.  
  7.  
  8. if(!mkdir($estructura, 0, true))
  9. {
  10.     die('Fallo al crear carpetas...');
  11. }

http://php.net/manual/es/function.mkdir.php
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 14/01/2013, 14:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Creación de carpetas

Gracias! lo voy a intentar!

Etiquetas: carpetas, creación, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:19.