Foros del Web » Programando para Internet » PHP »

Crear una carpeta con cada registro

Estas en el tema de Crear una carpeta con cada registro en el foro de PHP en Foros del Web. Buenas, vereís tengo un pequeño registro de usuarios montado en el cual uno se registra,se logea y bueno y accede como aun pequeño panel en ...
  #1 (permalink)  
Antiguo 13/08/2007, 13:23
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Crear una carpeta con cada registro

Buenas,

vereís tengo un pequeño registro de usuarios montado en el cual uno se registra,se logea y bueno y accede como aun pequeño panel en el que le sale tan solo la opción logout.

Como vereís algo bastante simple.

Pues bien, ami me gustaria saber como podria hacer que al registrarse un usuario inmediatamente se creará una carpeta con el nombre que puso al registrarse.

Por ahora me interesa hacer tan solo esto y vamos, no tengo ni idea.

Asi que nada, si alguien me puede echar una mano con esto, le estoy eternamente agradecido

Hasta pronto,
  #2 (permalink)  
Antiguo 13/08/2007, 13:34
 
Fecha de Ingreso: agosto-2007
Ubicación: Mexico
Mensajes: 55
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Crear una carpeta con cada registro

Ha pues muy facil compadre mira para eso existe la funcion mkdir de php
un pequeño ejemplo
Código PHP:
//aqui crea el path comne l nombre de usuario o como tu quieras
$path="test";
if (!
file_exists($path)) {
    
mkdir($path);    

Solo una nota el path donde deseas que se creen las carpetas debe tener permisos de escritura

Espero te sirva
  #3 (permalink)  
Antiguo 14/08/2007, 05:25
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Re: Crear una carpeta con cada registro

Gracias deliriumlabs,
al final he conseguido hacerlo y bueno en cada registro consigo crear una carpeta con el nombre de usuario.

Ahora me gustaria ir un poco más allá y quisera que al crear la carpeta inmediatamente dentro de ésta se crearan, uno o dos archivos.

El problema que tengo esque no lo consigo.
Mirar,este es lo que hago para intentar hacerlo:

Código:
$oldumask = umask(0);
mkdir($username, 0777); // or even 01777 so you get the sticky bit set
umask($oldumask);
$f1=fopen($username, "loquesea.php","w+");
fclose($f1);
Lo único que consigo con eso es hacer que se cree la carpeta pero no un archivo dentro de esta.

Cual es el error?
  #4 (permalink)  
Antiguo 14/08/2007, 07:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Crear una carpeta con cada registro

Revisa la documentacion de Fopen, estas pasando mal los parametros, el primer parametro debe ser la ruta completa al archivo junto con el nombre de archivo.

Saludos.
  #5 (permalink)  
Antiguo 21/08/2007, 10:03
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Re: Crear una carpeta con cada registro

Buenas de nuevo,

Ya lo he conseguido. Lo hice de la siguiente manera :

Cita:
$oldumask = umask(0);
mkdir($username, 0777); // or even 01777 so you get the sticky bit set
umask($oldumask);
$f1=fopen("$username/config.php", "x");
fclose($f1);
Pero ahora me estaba preguntando y si quiero crear otor archivo mas aparte del config como podria hacerlo?

Saludos,
  #6 (permalink)  
Antiguo 21/08/2007, 10:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Crear una carpeta con cada registro

Tendrias que volver a llamar fopen con el segundo nombre de archivo.

Saludos.
  #7 (permalink)  
Antiguo 28/08/2007, 07:26
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Re: Crear una carpeta con cada registro

Gracias de nuevo, lo he conseguido de la siguiente manera :

Cita:
$oldumask = umask(0);
mkdir($username, 0777); // or even 01777 so you get the sticky bit set
umask($oldumask);
$f1=fopen("$username/config.php", "x");
$f2=fopen("$username/index.php","x");
fclose($f1,$f2);
Saludos,
  #8 (permalink)  
Antiguo 17/10/2007, 12:39
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Re: Crear una carpeta con cada registro

Buenas de nuevo, vuelvo a 'reabrir' este post, porque me interesearia que al crearse lo archivos estos contubieran ya su correspondiente codigo.

Es para no hacerlo manualmente, he estado buscando algo parecido pero nada.

Si alguien sabe aqui estoy,

Muchas gracias,
  #9 (permalink)  
Antiguo 17/10/2007, 12:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Crear una carpeta con cada registro

Tienes que usar fwrite para escribir contenido en los archivos que estas creando y fclose para cerrar el apuntador, ej:
Código PHP:
$fh fopen"archivo.txt""w" );
fwrite$fh"Contenido de ejemplo!" );
fclose$fh ); 
Saludos.
  #10 (permalink)  
Antiguo 17/10/2007, 12:49
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Re: Crear una carpeta con cada registro

Entonces, si deseo meter por código, que es lo que quiero asi estaria bien?:
Código PHP:
<?php
$fh 
fopen"archivo.txt""w" );
fwrite$fh"<?php echo = Contenido de ejemplo!?>" );
fclose$fh );
?>
Muchas gracias por ser tan rapido

Saludos,
  #11 (permalink)  
Antiguo 17/10/2007, 13:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Crear una carpeta con cada registro

Si es correcto pero el codigo que quieres escribir es incorrecto, ten en cuenta que tienes que escribir codigo que sea correcto en sintaxis.

Saludos.
  #12 (permalink)  
Antiguo 17/10/2007, 13:19
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Re: Crear una carpeta con cada registro

¿Como? no lo entiendo.

Si me lo puedes aclarar mejor :P!
  #13 (permalink)  
Antiguo 17/10/2007, 14:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Crear una carpeta con cada registro

El codigo:
Código PHP:
<?php
$fh 
fopen"archivo.txt""w" );
fwrite$fh"<?php echo = Contenido de ejemplo!?>" );
fclose$fh );
?>
Es incorrecto porque al ejecutar el archivo te marcaria error tienes que escapar el contenido de forma correcta:
Código PHP:
<?php
$fh 
fopen"archivo.txt""w" );
fwrite$fh"<?php echo \"Contenido de ejemplo!\"; ?>" );
fclose$fh );
?>
Saludos.
  #14 (permalink)  
Antiguo 18/10/2007, 10:26
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Re: Crear una carpeta con cada registro

Buenas de nuevo,

Lo acabo de probar y asi tal cual, va perfecto.
Pero acabo de intentar meterle código y ahí empieza el problema. A la hora de crear una variable para que la muestre, me muestra tan solo el contenido, pero la vrariable desaparece.

A que puede ser debido??

Muchas gracias,
  #15 (permalink)  
Antiguo 18/10/2007, 13:01
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Crear una carpeta con cada registro

tienes q escapar para eso hay una funcion buscala en php.net q te permite escapar , cuando digo escapar es colocar la " \ " en algunas partes para q no se confunda el server

bro ya me acorde de la funcion es esta

AddSlashes pasas el cod antes por aca q por fwrite y listo

Última edición por talcual; 18/10/2007 a las 13:43 Razón: modificacion del contenido
  #16 (permalink)  
Antiguo 23/10/2007, 15:35
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Re: Crear una carpeta con cada registro

Si me puedes tú o alguien poner algun ejemplo mejor, porque he estado haciendolo de varias maneras y no me sale nada :P

Mientras me tocara seguir dandole vueltas!!

Muchas gracias,
  #17 (permalink)  
Antiguo 23/10/2007, 17:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Crear una carpeta con cada registro

Tienes que escapar la variable:
Código PHP:
<?php
$fh 
fopen"archivo.txt""w" );
fwrite$fh"<?php \$variable = \"valor_de_la_variable\"; ?>" );
fclose$fh );
?>
Saludos.
  #18 (permalink)  
Antiguo 25/10/2007, 05:37
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Re: Crear una carpeta con cada registro

Estupendo ahora me funciona.

Ami con razón no me funcionaba, pues lo hacia asi:

Cita:
<?php
$fh = fopen( "creacion.php", "w" );
fwrite( $fh, "<?php $prueba \" = ejemplo\"; ?>" );
fclose( $fh );
?>
y de mil maneras más....

Mucahs gracias,
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 10:21.