Foros del Web » Programando para Internet » PHP »

no se que titulo ponerle

Estas en el tema de no se que titulo ponerle en el foro de PHP en Foros del Web. hola muy buenas la verdad no se como llamarlo, el caso es que tengo una web que al registrarse un usuario se crea una carpeta ...
  #1 (permalink)  
Antiguo 30/09/2011, 08:57
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 8 meses
Puntos: 1
no se que titulo ponerle

hola muy buenas la verdad no se como llamarlo, el caso es que tengo una web que al registrarse un usuario se crea una carpeta con una serie de paginas a copiar que actúan como plantilla para todos los usuarios que se registran, el caso es que estaba pensando y dándole vueltas que tengo un problema en el momento que quiera realizar un cambio en esta plantilla como voy a volver a actualizar los usuarios que ya se han registrado y se les copio la plantilla sin modificar en sus respectivos directorios, como podría hacer para que si yo modifico la plantilla se modifique también automáticamente en los directorios de cada usuario registrado .

no se si se entiende lo que pretendo.

El código para copiar y crear los directorios es el siguiente por si esto vale, se podria añadir alguna función para que se actualice automáticamente.

Código PHP:
Ver original
  1. <?php
  2. // Establecer nuestra ruta de acceso absoluta para los directorios que se crean en:
  3. $path = $_SERVER['DOCUMENT_ROOT'] . '/blueberryswebtiendas/webtiendas/';
  4.  
  5. if (isset($_POST['btnform1'])) {
  6.     // Apúntese a nuestro formulario de datos
  7.     $dirName = isset($_POST['tienda'])?$_POST['tienda']:false;
  8.  
  9.     // Primero validar el valor:
  10.     if ($dirName !== false && preg_match('~([^A-Z0-9]+)~i', $dirName, $matches) === 0) {
  11.         // Tenemos un directorio válido:
  12.         if (!is_dir($path . $dirName)) {
  13.             // Somos buenos para crear este directorio:
  14.             if (mkdir($path . $dirName, 0777)) {       
  15.            
  16.             }
  17.                
  18.         }
  19.    
  20.         // Datos no válidos, htmlenttie les encajona <> se utilizaron.
  21.         $dirName = htmlentities($dirName);
  22.         $error = "Usted tiene valores no válidos en {$dirName}.";
  23.  
  24.  }
  25. }
  26.  
  27. //copia de los directorios de la plantilla al directorio del usuario
  28.  
  29.             $dirName = isset($_POST['tienda'])?$_POST['tienda']:false;
  30.             //copiando contenido de directorios
  31.             $origen = "../blueberryswebtiendas/webtiendas/plantilla/"; //pon la carpeta origen
  32.             //pon la variable $nombre o una carpeta destino que ya exista
  33.             $destino ="../blueberryswebtiendas/webtiendas/$dirName";
  34.            
  35.            
  36. ?>
  37. <?php
  38.  
  39. //copia de los directorios de la plantilla al directorio del usuario
  40.  
  41.             $dirName = isset($_POST['tienda'])?$_POST['tienda']:false;
  42.             //copiando contenido de directorios
  43.             $origen = "../blueberryswebtiendas/webtiendas/plantilla/"; //pon la carpeta origen
  44.             //pon la variable $nombre o una carpeta destino que ya exista
  45.             $destino ="../blueberryswebtiendas/webtiendas/$dirName";
  46. //empezamos funcion recursiva para copiar contenidos de directorios
  47. copy_dir($origen,$destino);
  48.  
  49.  
  50. function copy_dir($origen,$destino)
  51. {
  52.  
  53. if (isset($_POST['btnform1'])) {
  54.    if (is_dir($destino))
  55.       echo "El directorio destino ya existe.<br>";
  56.    else
  57.       mkdir("$destino");
  58.    if ($vcarga = opendir($origen))
  59.    {
  60.       echo "Directorio: $origen<br><br>";
  61.       echo "Fichero(s):<br><br>";
  62.       while($file = readdir($vcarga))
  63.       {
  64.          if ($file != "." && $file != "..")
  65.          {
  66.             if (is_dir($origen."/".$file))
  67.             {
  68.                copy_dir($origen."/".$file,$destino."/".$file);
  69.             }
  70.             else
  71.             {
  72.                if(copy($origen."/".$file, $destino."/".$file))
  73.                   echo "<b>$file</b> se copió con éxito al directorio $destino .<br>";
  74.             }
  75.          }
  76.       }
  77.       closedir($vcarga);
  78.    }
  79. }
  80. }
  81.  
  82.  
  83. ?>

muchas gracias al que pierda el tiempo con migo se agradece
  #2 (permalink)  
Antiguo 30/09/2011, 09:04
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: no se que titulo ponerle

segun entendi haces una carpeta por usuario con la misma informacion (paginas que se usan para plantillas).

si es una plantilla para todos y que al modificarse se modifica para todos , podrias hacer una carpeta de nombre plantilla en la que los usuarios hagan referencia,y no hacer una carpeta para cada uno ,asi evitarias demasiados procesos, con esto solo reemplazarias el archivo o archivos que utilizas para hacer la plantilla o renombrarlos para historicos , etc. pero ya solo lo harias sobre una sola carpeta y no buscarias en todas
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #3 (permalink)  
Antiguo 30/09/2011, 09:08
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: no se que titulo ponerle

Pues la verdad yo haría uso de la base de datos, entonces creas una carpeta PLANTILLAS con todas las plantillas que quieras después en una tabla plantillas guardo el ID del usuario y la ruta a la plantilla que le pertenece...
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #4 (permalink)  
Antiguo 30/09/2011, 09:14
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: no se que titulo ponerle

mmmmm no se yo he , el caso es como por ejemplo facebook si modifica sus paginas a los usuarios también se les modifica sin cambiar ni modificar sus datos, no comprendo
  #5 (permalink)  
Antiguo 30/09/2011, 09:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: no se que titulo ponerle

Facebook no hace algo así, creo estas confundiendo lo que ves en la URL por como funciona, Facebook usa algo que se conoce como mod_rewrite para simular una URL diferente a lo que es.

Eso de copiar y crear carpetas por cada usuario es incorrecto, lo correcto es que tengas una sola plantilla / archivos y con mod_rewrite simulas que cada usuario tiene una carpeta.

Saludos.
  #6 (permalink)  
Antiguo 30/09/2011, 09:52
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: no se que titulo ponerle

mod_rewrite entonces como funciona esto exactamente me podrías decir de donde puedo sacar mas info sobre esta función muchaS GRACIAS
  #7 (permalink)  
Antiguo 30/09/2011, 10:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: no se que titulo ponerle

Aqui en el foro puedes ver mucha información al respecto, en el foro de Apache puedes ver todo lo que necesitas, o depende del Servidor Web que utilices, cada uno usa una implementación diferente para re-escribir URLs.

Saludos.

Etiquetas: html, titulo, variables, 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 03:46.