Foros del Web » Programando para Internet » PHP »

Problema con la funcion copy()

Estas en el tema de Problema con la funcion copy() en el foro de PHP en Foros del Web. Hola buenas, estoy haciendo una página web en la que necesito copiar todo el contenido de una carpeta a otra, pero el problema me surje ...
  #1 (permalink)  
Antiguo 11/07/2008, 20:32
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Problema con la funcion copy()

Hola buenas, estoy haciendo una página web en la que necesito copiar todo el contenido de una carpeta a otra, pero el problema me surje al intentar copiarlo, el error es el siguiente:

Warning: copy(texto.txt) [function.copy]: failed to open stream: No such file or directory in C:\AppServ\www\web2\procesoweb.php on line 45
failed to copy texto.txt...


lo he intentado con varios archivos, el Safe_mode del servidor esta OFF y ya no se a que se debe... a continuación les muestro el código:

$archivo = 'texto.txt';
$nuevoarchivo = 'texto.txt.bak';

if (!copy($archivo, $nuevoarchivo)) {
echo "Error copiando $archivo...\n";
}


esto ya me está volviendo loco, lo he intentado de todas las formas posibles y nada, no hay manera, ha habido 1 vez que si me ha copiado completamente el archivo, y además esa vez ha sido con el código expuesto arriba, pero lo he vuelto a probar y me volvía a salir el error...

Bueno este es mi problema, si alguno me lo puede solucionar se lo agradecería.
  #2 (permalink)  
Antiguo 11/07/2008, 23:24
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
Respuesta: Problema con la funcion copy()

Hola tld32,

Si te dice No such file or directory, es porque el archivo origen no existe.

Saludos.
  #3 (permalink)  
Antiguo 12/07/2008, 01:53
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: Problema con la funcion copy()

Si existe, de eso ya me he encargado... es por eso que no entiendo porque no funciona si existe el archivo de origen...
  #4 (permalink)  
Antiguo 12/07/2008, 02:00
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: Problema con la funcion copy()

Bien, solucionado el problema de copiar archivos, la duda que tengo ahora es: ¿se pueden copiar Directorios enteros? Realmente, eso es lo que necesito copiar un directorio entero (en el que dentro hay archivos) y pasarlo al otro directorio.


P.D: he solucionado el problema cambiando la ruta del archivo.
  #5 (permalink)  
Antiguo 12/07/2008, 04:15
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: Problema con la funcion copy()

vale, ya he conseguido copiar el contenido de todo un directorio, pero también quiero que me copie todos los subdirectorios y eso no me lo copia, el código es el siguiente:

$origen = "C:/carpeta1"; //pon la carpeta origen
$destino = "C:/carpeta2/".$carpeta."/copia/"; //pon la variable $nombre o una carpeta destino que ya exista
if ($vcarga = opendir($origen))
{
while($file = readdir($vcarga))
{
if ($file != "." && $file != "..")
{
if(copy($origen . $file, $destino . $file))
{
echo "<b>$file</b> se copió con éxito al directorio.<br>";
}
}
}
closedir($vcarga);
}


este código funciona, pero solo para copiar los archivos que hay dentro de la carpeta "$origen" y no sus respectivos subdirectorios.

a ver si me podeis exar una mano, gracias
  #6 (permalink)  
Antiguo 13/07/2008, 09:26
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: Problema con la funcion copy()

Bueno, ya no importa, lo hice creando un archivo .bat con la funcion fopen, en el que usaba la funcion Xcopy de ms-dos para copiar todos los archivos y carpetas de un sitio al otro sin ningún problema y siempre que ejecute el archivo .bat. Un saludo.
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 07:57.