Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/11/2012, 05:37
carolina3
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 8 meses
Puntos: 1
crear directorio

hola muy buenas

tengo una serie de problemas con mi web a la hora de que funcione en mi servidor el caso es que en local funciona perfectamente pero cuando la coloco en un servidor de pago en Internet no.

se trata de crear un directorio y copiar todo el contenido de otro dentro ha veces me crea el directorio pero no copia los archivos no entiendo y creo que le doy todos los permisos de copiar bien.

este es el código php no se si el error esta aquí o que :

Código PHP:
Ver original
  1. <?php require_once('Connections/blueberryswebtiendas.php')?>
  2. <!--aqui inicializamos las sessiones para recuperar los campos tienda y email del formulario de la pag index-->
  3. <?php
  4.  
  5. $_SESSION['email']=$_POST['email'];
  6. $_SESSION['tienda']=$_POST['tienda'];
  7.  
  8.  
  9.  
  10. //<!--aqui introducimos los datos del formulario de la pag index en la tabla tienda-->
  11.  
  12.  
  13. // Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
  14. if(isset($_POST['tienda']) && !empty($_POST['tienda']) &&
  15. isset($_POST['pasword']) && !empty($_POST['pasword']) &&
  16. isset($_POST['tipo_de_tienda']) && !empty($_POST['tipo_de_tienda']) &&
  17. isset($_POST['email']) && !empty($_POST['email'])) {
  18.  
  19. // Si entramos es que todo se ha realizado correctamente
  20. $link = mysql_connect("$hostname_blueberryswebtiendas","$username_blueberryswebtiendas","$password_blueberryswebtiendas");
  21.         mysql_select_db("$database_blueberryswebtiendas",$link);
  22.  
  23.  
  24. // Con esta sentencia SQL insertaremos los datos en la base de datos
  25. mysql_query("INSERT INTO tienda (tienda,pasword,email,tipo_de_tienda)
  26. VALUES ('{$_POST['tienda']}','{$_POST['pasword']}','{$_POST['email']}','{$_POST['tipo_de_tienda']}')",$link);
  27.  
  28. // Ahora comprobaremos que todo ha ido correctamente
  29. $my_error = mysql_error($link);
  30.  
  31. }
  32.  
  33. ?>
  34.  
  35. <?php
  36. // Establecer nuestra ruta de acceso absoluta para los directorios que se crean en:
  37. $path = $_SERVER['DOCUMENT_ROOT'] . '/blueberryswebtiendas/webtiendas/';
  38.  
  39. if (isset($_POST['tienda'])) {
  40.     // Apúntese a nuestro formulario de datos
  41.     $dirName = isset($_POST['tienda'])?$_POST['tienda']:false;
  42.  
  43.     // Primero validar el valor:
  44.     if ($dirName !== false && preg_match('~([^A-Z0-9]+)~i', $dirName, $matches) === 0) {
  45.         // Tenemos un directorio válido:
  46.         if (!is_dir($path . $dirName)) {
  47.             // Somos buenos para crear este directorio:
  48.             if (mkdir($path . $dirName, 0777)) {       
  49.            
  50.             }
  51.                
  52.         }
  53.    
  54.         // Datos no válidos, htmlenttie les encajona <> se utilizaron.
  55.         $dirName = htmlentities($dirName);
  56.         $error = "Usted tiene valores no válidos en {$dirName}.";
  57.  
  58.  }
  59. }
  60.  
  61. //copia de los directorios de la plantilla al directorio del usuario
  62.  
  63.             $dirName = isset($_POST['tienda'])?$_POST['tienda']:false;
  64.             //copiando contenido de directorios
  65.             $origen = "webtiendas/plantilla/"; //pon la carpeta origen
  66.             //pon la variable $nombre o una carpeta destino que ya exista
  67.             $destino ="webtiendas/$dirName/ ";
  68.            
  69.            
  70.  
  71.  
  72. //copia de los directorios de la plantilla al directorio del usuario
  73.  
  74.             $dirName = isset($_POST['tienda'])?$_POST['tienda']:false;
  75.             //copiando contenido de directorios
  76.             $origen = "webtiendas/plantilla/"; //pon la carpeta origen
  77.             //pon la variable $nombre o una carpeta destino que ya exista
  78.             $destino ="webtiendas/$dirName/";
  79. //empezamos funcion recursiva para copiar contenidos de directorios
  80. copy_dir($origen,$destino);
  81.  
  82.  
  83. function copy_dir($origen,$destino)
  84. {
  85.  
  86. if (isset($_POST['tienda'])) {
  87.    if (is_dir($destino))
  88.       echo "El directorio destino ya existe.<br>";
  89.    else
  90.       mkdir("$destino");
  91.    if ($vcarga = opendir($origen))
  92.    {
  93.       echo "Directorio: $origen<br><br>";
  94.       echo "Fichero(s):<br><br>";
  95.       while($file = readdir($vcarga))
  96.       {
  97.          if ($file != "." && $file != "..")
  98.          {
  99.             if (is_dir($origen."/".$file))
  100.             {
  101.                copy_dir($origen."/".$file,$destino."/".$file);
  102.             }
  103.             else
  104.             {
  105.                if(copy($origen."/".$file, $destino."/".$file))
  106.                   echo "<b>$file</b> se copió con éxito al directorio $destino .<br>";
  107.             }
  108.          }
  109.       }
  110.       closedir($vcarga);
  111.    }
  112. }
  113. }
  114.  
  115.  
  116. ?>

y cuando lo intento me sale esto es como si creara el directorio pero la variable$dirname que es el nombre que debe contener el directorio no lo supiera leer:

Directorio: webtiendas/plantilla/

Fichero(s):

Directorio: webtiendas/plantilla//_notes

Fichero(s):

Directorio: webtiendas/plantilla//css

Fichero(s):

Directorio: webtiendas/plantilla//imagenes

Fichero(s):

Directorio: webtiendas/plantilla//imagenes/_notes

Fichero(s):

Directorio: webtiendas/plantilla//imagenes/botones

Fichero(s):

Directorio: webtiendas/plantilla//productos

Fichero(s):

Directorio: webtiendas/plantilla//productos/_notes

Fichero(s):

Directorio: webtiendas/plantilla//clientes

Fichero(s):

Directorio: webtiendas/plantilla//clientes/_notes

Fichero(s):


esto en local saldria mas o menos asi :

El directorio destino ya existe.
Directorio: webtiendas/plantilla/

Fichero(s):

compra.php se copió con éxito al directorio webtiendas/zara .
Directorio: webtiendas/plantilla//clientes

Fichero(s):

accesoclientes.php se copió con éxito al directorio webtiendas/zara/clientes .
clienteyaexiste.php se copió con éxito al directorio webtiendas/zara/clientes .
entradaclientes.php se copió con éxito al directorio webtiendas/zara/clientes .
errorenlosdatos.php se copió con éxito al directorio webtiendas/zara/clientes .
nuevocliente.php se copió con éxito al directorio webtiendas/zara/clientes .
Directorio: webtiendas/plantilla//clientes/_notes


si alguien me puede ayudar se lo agradecería mucho