Foros del Web » Programando para Internet » PHP »

Ayuda con if...

Estas en el tema de Ayuda con if... en el foro de PHP en Foros del Web. Hola, bueno mi problema nuevo es el siguiente, necesitaba que al crear el usuario se creara su directorio, cosa que hice gracias a foros del ...
  #1 (permalink)  
Antiguo 18/04/2009, 02:53
 
Fecha de Ingreso: julio-2008
Mensajes: 34
Antigüedad: 16 años, 4 meses
Puntos: 0
Ayuda con if...

Hola, bueno mi problema nuevo es el siguiente, necesitaba que al crear el usuario se creara su directorio, cosa que hice gracias a foros del web con mkdir, pero necesito que se creen los archivos correspondientes con extencion .php

Dejo el codigo:
Código PHP:
else if(isset($_SESSION['regsuccess'])){
   
/* Registration was successful */
   
if($_SESSION['regsuccess']){
      echo 
"<p>Registered!</p>";
      echo 
"<p>Thank you <b>".$_SESSION['reguname']."</b>, your information has been added to the database, "
          
."you may now <a href=\"http:xxxxxx al azar xxxxxx\">log in</a>.</p>";   
      
mkdir("../user/".$_SESSION['reguname'], 0700);
      
$_SESSION['reguname'] = tempnam("../user/""");  
      
$file=$_SESSION['reguname'].(../user/".$_SESSION['reguname']"/index.php)"; 
Me parece que debi haber definido $file, cosa que no hice, pero de todas formas nececito que se cree, por ejemplo el index del usuario, como esta en la ultima linea. Bueno Gracias de antemano ^^!


Nos Vemos!

Edit: Lo intente con fopen y tambien con touch.
  #2 (permalink)  
Antiguo 18/04/2009, 03:47
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 45
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Ayuda con if...

Hola Fearful

En tu línea $file hay algo mal en la sintáxis:

$file=$_SESSION['reguname']."(../user/".$_SESSION['reguname']."/index.php)";

A parte de estos dos detalles, yo utilizaria las funciones fopen() y fwrite():

http://es.php.net/manual/es/function.fopen.php

http://es.php.net/manual/es/function.fwrite.php

Ejemplo:
<?php

$ruta="txt/";
$ext=".php";
$archivo=$ruta."/".$arch.$ext;

$fp=fopen($archivo,'a'); /*Si el archivo no existe, se crea y empieza desde el principio. Tienes más opciones a parte de 'a', en el link de fopen.*/
$cadena="----";//El contenido del archivo
fwrite($fp,$cadena);
fclose($fp);

?>

Un saludo
  #3 (permalink)  
Antiguo 18/04/2009, 20:59
 
Fecha de Ingreso: julio-2008
Mensajes: 34
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Ayuda con if...

Hola, gracias por responder, ahora el tema es que haciendolo con fopen y fwrite no puedo crear el archivo en el directorio que se define con la variable de registro $_SESSION, esto es lo que tengo gracias a vos:

Código PHP:
else if(isset($_SESSION['regsuccess'])){
   
/* Registration was successful */
   
if($_SESSION['regsuccess']){
      echo 
"<p>Registered!</p>";
      echo 
"<p>Thank you <b>".$_SESSION['reguname']."</b>, your information has been added to the database, "
          
."you may now <a href=\"xxxx://rushed.biz/index.php\">log in</a>.</p>";   
      
mkdir("../user/".$_SESSION['reguname'], 0700);  
      
$ruta="../user/".$_SESSION['reguname'].";
      $ext="
index.php";
      $archivo=$ruta."
/".$arch.$ext;

      $fp=fopen($archivo,'a');
      $cadena="
----";//El contenido del archivo
      fwrite($fp,$cadena);
      fclose($fp);
   } 
Aunque en realidad me marca error en la linea de $ext, Bueno, nueva mente gracias ^^
  #4 (permalink)  
Antiguo 18/04/2009, 21:20
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Ayuda con if...

Si ves el coloreado de la sintaxis veras que el error esta en la linea $ruta = ...

Al final, concatenas y abres unas comillas, pero nunca las cierras.

Con respecto a tu tema inicial, lo ideal no es hacer 1 directorio por usuario, y menos crear los archivos PHP, eso le quita lo "dinamico" a la programación. Lo que se hace es que con Mod_Rewrite de Apache se hacen parecer carpetas, cuando en realidad no lo son.
  #5 (permalink)  
Antiguo 18/04/2009, 21:29
 
Fecha de Ingreso: julio-2008
Mensajes: 34
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Ayuda con if...

Upsss, Me olvide de esas jaja grax, de todos modos mi server no usa apache.
Gracias!
Ya funciona, muchas gracias a ambos ^^
  #6 (permalink)  
Antiguo 20/04/2009, 16:48
 
Fecha de Ingreso: julio-2008
Mensajes: 34
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Ayuda con if...

Yop de nuevo, perdon ^^' jaja, bueno el codigo me anda perfecto pero ahora, dentro de las comillas de la $cadena como puedo hacer para ingrsar codigo php y html, es decir que la cadena escriba en el archivo una sequencia de php Html, que sera la pagina de "Index.php" que la genera el mkdir.

Gracias como siempre ^^
  #7 (permalink)  
Antiguo 20/04/2009, 16:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Ayuda con if...

puedes usar HEREDOC para eso...

Código PHP:
// ojo: el PHP no se evaluara dentro de $foo pero si las variables
// por eso debes escaparlas...
$candy = 'does';
$foo = <<<BAR

<?php echo phpversion(); ?>
<h1>Hola Mundo</h1>
<b><?php echo $candy?></b>

BAR;
o bien, usa variables normales...

Código PHP:
$foo = '

<?php echo phpversion(); ?>
<h1>Hola Mundo</h1>
<b><?php echo $candy ?></b>

';
en fin, es algo sencillo... pero te puede traer muchos problemas...

¿es necesario escribir el código??

¿¿no es mejor copiarlo desde otro script ya escrito???

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 20/04/2009, 17:03
 
Fecha de Ingreso: julio-2008
Mensajes: 34
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Ayuda con if...

Cita:
Iniciado por pateketrueke Ver Mensaje
puedes usar HEREDOC para eso...

Código PHP:
// ojo: el PHP no se evaluara dentro de $foo pero si las variables
// por eso debes escaparlas...
$candy = 'does';
$foo = <<<BAR

<?php echo phpversion(); ?>
<h1>Hola Mundo</h1>
<b><?php echo $candy?></b>

BAR;
o bien, usa variables normales...

Código PHP:
$foo = '

<?php echo phpversion(); ?>
<h1>Hola Mundo</h1>
<b><?php echo $candy ?></b>

';
en fin, es algo sencillo... pero te puede traer muchos problemas...

¿es necesario escribir el código??

¿¿no es mejor copiarlo desde otro script ya escrito???

Muchas gracias, y me seria muy util si se pudiera copiar y a la vez definiera las variables dentro del archivo a copiar, ya que tengo una plantilla en php que estoy usando para los usuarios. ^^
Si se pudiera seria genial!


Nos vemos!
  #9 (permalink)  
Antiguo 21/04/2009, 14:48
 
Fecha de Ingreso: julio-2008
Mensajes: 34
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Ayuda con if...

.......... Nada jaja busque un poco de como copiar el contenido de un archivo y no encontre mucho... Si me aclaras un poco serias mi heroe jeje ^^
  #10 (permalink)  
Antiguo 21/04/2009, 14:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Ayuda con if...



¿y si buscaste en el manual de PHP??


existe la funcion copy()

o bien, haces un file_get_contents();

luego, abres el archivo con fopen() lo escribes con fwrite() y debes cerrarlo al final con fclose()


Manual de PHP
http://php.net


busca en las funciones del sistema de archivos, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 21/04/2009, 15:57
 
Fecha de Ingreso: julio-2008
Mensajes: 34
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Ayuda con if...

Jaja perdon lo tengo que indexar en favoritos a esta altura jaja,
y el copy() define las constantes de la plantilla o tengo que usar el apc_define_constants?
  #12 (permalink)  
Antiguo 21/04/2009, 16:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Ayuda con if...

eso ultimo lo ignoro...

copy() solo sirve para copiar un archivo físicamente, lo demás... solo tu sabes

http://php.net/copy


suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 14:12.