Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Crear carpetas anidadas

Estas en el tema de Crear carpetas anidadas en el foro de PHP en Foros del Web. Hola! Espero puedan ayudarme con este tema, resulta que necesito crear 4 carpetas anidadas en linux con la siguiente estructura: "../cv/$programa/$version/$subversion/$build" O sea que para ...
  #1 (permalink)  
Antiguo 23/09/2013, 15:38
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Crear carpetas anidadas

Hola!

Espero puedan ayudarme con este tema, resulta que necesito crear 4 carpetas anidadas en linux con la siguiente estructura:

"../cv/$programa/$version/$subversion/$build"

O sea que para el programa "runapp" versión 3.0.5 debería crear la carpeta:

../cv/runapp/3/0/5/

Parecía fácil, intente crear la carpeta con mkdir recursivo así:

Código PHP:
mkdir(""../cv/runapp/3/0/5/", 0777,true); 
sin embargo solo creó la primera carpeta ("/runapp/"), así que intente crear todas las carpetas una por una así:

Código PHP:
mkdir("../cv/".$name."/",0777,true);
mkdir("../cv/".$name."/".$ver1."/",0777,true);
mkdir("../cv/".$name."/".$ver1."/".$ver2."/",0777,true);
mkdir("../cv/".$name."/".$ver1."/".$ver2."/".$ver3."/",0777,true); 
Pero también solo crea la primera carpeta, así que en un intento desesperado pensando que podía ser problema de permisos hice esto:

Código PHP:
mkdir("../cv/".$name."/",0777,true);
chmod("../cv/".$name."/",0777);
mkdir("../cv/".$name."/".$ver1."/",0777,true);
chmod("../cv/".$name."/".$ver1."/",0777);
mkdir("../cv/".$name."/".$ver1."/".$ver2."/",0777,true);
chmod("../cv/".$name."/".$ver1."/".$ver2."/",0777);
mkdir("../cv/".$name."/".$ver1."/".$ver2."/".$ver3."/",0777,true);
chmod("../cv/".$name."/".$ver1."/".$ver2."/".$ver3."/",0777); 


Y adivinen que... también solo creo la primera carpeta.

No se me ocurre nada, he comprobado que la única carpeta creada tiene permisos 777, pero no logro crearle una carpeta anidada...

Que estoy haciendo mal?
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #2 (permalink)  
Antiguo 23/09/2013, 15:52
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Crear carpetas anidadas

¿Revisaste quién queda como dueño de la primer carpeta que creas?
  #3 (permalink)  
Antiguo 24/09/2013, 05:22
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Crear carpetas anidadas

No, como hago eso?

---------- editado --------

He comrpobado que las carpetas están siendo creadas con el usuario "apache", el cual seguramente no tiene privilegios, como puedo lograr que las carpetas se creen con el usuario que quiero?

He intentado esto:

mkdir("../cv/".$name."/",0777,true);
chown("../cv/".$name."/","webserv");

el usuario webserv tiene los permisos necesarios, sin embargo no está funcionando, a pesar del chown, el propietario de la carpeta sigue siendo "apache" :(
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Última edición por stramin; 24/09/2013 a las 07:32 Razón: agregando informacion
  #4 (permalink)  
Antiguo 24/09/2013, 10:53
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Crear carpetas anidadas

Pues debería funcionar, si el usuario de php es apache, que es lo normal, salvo que el usuario de php sea otro, en tal caso creo que habría que configurar el apache para cambiar esto.

Para saber cuál es el usuario que ajecuta cuando usas php, puedes hacer esto:
echo exec('whoami');
  #5 (permalink)  
Antiguo 24/09/2013, 12:12
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Crear carpetas anidadas

Gracias por tu ayuda ocp001a, al final era problema de permisos, el usuario "apache" no tenia permisos de edición en el servidor, por lo que solo podía crear las carpetas pero no modificarlas

Tema solucionado!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: anidadas, carpetas
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 03:14.