Foros del Web » Programando para Internet » PHP »

Funcion mkdir ayuda

Estas en el tema de Funcion mkdir ayuda en el foro de PHP en Foros del Web. tengo el siguiente codigo Código PHP: <?php mkdir ( "/Archivos" ,  0777 ); ?> el problema es que si ejecuto este archivo en mi host ...
  #1 (permalink)  
Antiguo 21/09/2009, 17:54
 
Fecha de Ingreso: septiembre-2009
Mensajes: 46
Antigüedad: 14 años, 7 meses
Puntos: 1
Funcion mkdir ayuda

tengo el siguiente codigo

Código PHP:
<?php
mkdir
("/Archivos"0777);

?>

el problema es que si ejecuto este archivo en mi host , no me crea ninguna carpeta

ésta mal el codigo que pongo ?

o cuales son las especificaciones del host para que esta funcion pueda crear carpetas ?

Última edición por FaviooxD; 21/09/2009 a las 18:04
  #2 (permalink)  
Antiguo 21/09/2009, 18:07
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Funcion mkdir ayuda

Revisa esto...

o intenta esto:
Código PHP:
$directorio "C:\\Archivos\\";
$nuevo "nuevo";
if(
is_dir($directorio)){
    if(
is_dir($directorio.$nuevo)){
        echo 
'El directorio que intenta crear ya esta creado';
    }else{
        
mkdir($directorio.$nuevo0777);
    }
}else{
    echo 
'El directorio donde intenta crear la carpeta '.$nuevo.' no es un directorio valido';

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 21/09/2009, 18:30
 
Fecha de Ingreso: septiembre-2009
Mensajes: 46
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Funcion mkdir ayuda

bueno ahora tengo otro problema


este es el codigo

Código PHP:
<?php
$crear
=mkdir(getcwd()."/Archivos/"0777);
if(
$crear){
echo 
"Se creo correctamente";
}else{
echo 
"Error al crear";
}
?>

en este caso , si me crea la carpeta , pero le da permiso de 0755 y yo quiero que le de 0777 a esa carpeta

mi otra duda es como le hago para crear carpetas del tipo

/Archivos/Musica/ y que este este con 0777
  #4 (permalink)  
Antiguo 21/09/2009, 23:21
 
Fecha de Ingreso: septiembre-2004
Ubicación: León, Gto.
Mensajes: 80
Antigüedad: 19 años, 6 meses
Puntos: 6
Respuesta: Funcion mkdir ayuda

saludos, ahorita estoy batallando con eso.

según lo que entiendo hasta ahora, el problema, más que los permisos, está en el la forma en que se cre la carpeta.

Como no la creas tú, desde tu FTP lo que hace es asignarle otro propietario, y por eso ya no deja hacer modificaciones via FTP, creo sólo puedes hacer modificaciónes vía script.

Lo de los permisos no se por qué lo hace, aunque uno los ponmga en 777 nomás no funcionan como esperamos.

Yo ando en lo mismo investigando sobre eso. Si quieres borrar las carpetas, lo que me ha servido a mi es "rmdir()" que es lo contrario al "mkdir()", pero debes asegurarte que la carpeta esté vacia.

  #5 (permalink)  
Antiguo 22/09/2009, 08:17
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Funcion mkdir ayuda

Si estan usando FTP los permisos de cualquier archivo que creen deberian quedar para el usuario del FTP.

En terminos de permisos viene a ser un tanto especial Linux por la cantidad de users que genera para cada cosa...

Con eso tengan ojo.

Para el problema anterior, existe una explicacion que esta en el link que te deje arriba:
Código PHP:
$old_umask umask(0);
$crear=mkdir(getcwd()."/Archivos/"0777);
if(
$crear){
    echo 
"Se creo correctamente";
}else{
    echo 
"Error al crear";
}
umask($old_umask); 
Esto pasa, y lo derivo de la misma explicacion de la pagina:
Cita:
Iniciado por Manual PHP
La carpeta creada actualmente tiene permisos 0755, en vez de lo especificado 0777. Porque pasa esto dices tu? Por umask(): http://www.php.net/umask

El valor por defecto de umask, al menos en mi setup, es 18. El cual pasado a octales equivale a 22, o lo mismo que 0022. Esto significa que cuando usas mkdir() con CHMOD para crear una carpeta a 0777, PHP toma el 0777 y sustrae el valor de umask, en nuestro caso 0022, entonces el resultado es 0755 - lo cual probablemente no es lo que quieres.
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Última edición por Marvin; 22/09/2009 a las 08:18 Razón: etiqueta equivocada
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 23:53.