Foros del Web » Programando para Internet » PHP »

copiar archivos en distintos servidores

Estas en el tema de copiar archivos en distintos servidores en el foro de PHP en Foros del Web. Hola, Tengo un problema y es que tengo 2 aplicaciones distintas en distintos servidores: servidor1 y servidor2. Tengo otra tercera aplicación en el servidor1 que ...
  #1 (permalink)  
Antiguo 03/12/2008, 03:28
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
Pregunta copiar archivos en distintos servidores

Hola,

Tengo un problema y es que tengo 2 aplicaciones distintas en distintos servidores: servidor1 y servidor2.

Tengo otra tercera aplicación en el servidor1 que sirve para cuando valido un registro, se copien los archivos desde una carpeta del servidor2 al servidor1. No sé ni como empezar, porque estoy intentando crear una conexion ftp pero no me sale. Hago esto en la 3ª aplicación del servidor1:

Código PHP:
$conexionremota=mysql_connect($HostRemoto,$UsuarioRemoto,$PassRemota) or die();
$id_con ftp_connect($HostRemoto);
$resultado_login ftp_login($id_con"aplicacionservidor2""pwdaplicacionservidor2"); 
ftp_chdir($id_con,"fotos");//La carpeta fotos que tengo que copiar al servidor 1
if(!$resultado_login){die("NO FTP");}

if(
is_file("foto.jpg")){
  
// Si existe la foto en la carpeta fotos del servidor 2
  //--> la copio en la aplicación del servidor1

Esto funciona así? porque yo sé que en el servidor 2 existe la foto en la carpeta raiz: fotos/foto.jpg y hago un echo "aaaaa"; en el if y no me entra. Hay más maneras de hacerlo??
  #2 (permalink)  
Antiguo 03/12/2008, 06:17
Avatar de Tokkara  
Fecha de Ingreso: junio-2008
Mensajes: 131
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: copiar archivos en distintos servidores

Tienes que tener en cuenta que si buscas en otro servidor distinto debes poner la ruta absoluta. Si la pones relativa PHP entendera que buscas en el mismo servidor y no en otro distinto.

Código PHP:
$conexionremota=mysql_connect($HostRemoto,$UsuarioRemoto,$PassRemota) or die();
$id_con ftp_connect($HostRemoto);
$resultado_login ftp_login($id_con"aplicacionservidor2""pwdaplicacionservidor2"); 
ftp_chdir($id_con,"fotos");//La carpeta fotos que tengo que copiar al servidor 1
if(!$resultado_login){die("NO FTP");}


  
$ruta_servidor1 "ruta/servidor1/";

//Si el la foto esta en otro servidor debes poner la dirección de este nuevo servidor.
//Si solo pones fotos/foto.jpg, PHP da por echo de que estas buscando la foto en el servidor1
  
$ruta_servidor2 "http://dominio/fotos/foto.jpg";

if(
is_file($ruta_servidor2)){
  
copy($ruta_servidor2$ruta_servidor1."nueva_foto.jpg");

Mirate la función copy para más información
__________________
Revolucionario controlador de plantillas para php
www.simphple.com
  #3 (permalink)  
Antiguo 15/12/2008, 08:36
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: copiar archivos en distintos servidores

pero yo puedo consultar con la ruta absoluta la existencia de cualquier archivo? Por ejemplo busco en google la siguiente foto:
http://mas.lne.es/fotos/img/2007/10/...oto_verano.jpg

y si hago is_file("http://mas.lne.es/fotos/img/2007/10/62/203093470447035b9bc5a095.43783284-foto_verano.jpg") me devolvería true? LO he estado intentando y no me sale, no sé si será por eso o no.
  #4 (permalink)  
Antiguo 15/12/2008, 10:35
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: copiar archivos en distintos servidores

No, las funciones directas de archivo como is_file, y copy solo actuan bajo el sistema de archivos local.

Si quieres copiar o descargar datos de webs externas necesitas crear un cliente HTTP con cURL, o sockets.

Saludos.
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 00:53.