Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2011, 08:57
carolina3
 
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