Foros del Web » Programando para Internet » PHP »

Copiar archivo local al servidor.

Estas en el tema de Copiar archivo local al servidor. en el foro de PHP en Foros del Web. Hola, tengo una imagen guardada en el disco. Desde una web local estoy intentando que se copie esa imagen en el servidor de internet. Utilizo ...
  #1 (permalink)  
Antiguo 03/07/2008, 13:22
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
Copiar archivo local al servidor.

Hola, tengo una imagen guardada en el disco. Desde una web local estoy intentando que se copie esa imagen en el servidor de internet.

Utilizo este código:
Código PHP:
    $nombre_archivo "ojala.jpg"
    
copy("C:\AppServ\www\fotos\\" $nombre_archivo "" ,"C:\AppServ\www\\telegrafo\fotos\\" $nombre_archivo ""); 
Me aparece este error:

Parse error: syntax error, unexpected T_STRING in C:\AppServ\www\publicar_fotos.php on line 12

Gracias desde ya por las respuestas.
Saludos
  #2 (permalink)  
Antiguo 03/07/2008, 13:28
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Copiar archivo local al servidor.

Disculpen, este es el código que uso:

Código PHP:
    $nombre_archivo "ojala.jpg"
    
copy("C:\AppServ\www\fotos\\" $nombre_archivo "" ,"http://www.eltelegrafo.com/prueba/" $nombre_archivo ""); 
  #3 (permalink)  
Antiguo 03/07/2008, 14:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Copiar archivo local al servidor.

Hola ci2000,

Con copy no puedes copiar a un directorio remoto, necesitas usar la extensión FTP de PHP y tener un servidor de FTP en tu dominio remoto.

Saludos.
  #4 (permalink)  
Antiguo 03/07/2008, 15:10
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Copiar archivo local al servidor.

Gracias GatorV por contestar.

Encontré un ejemplo e intenté conectarme al servidor. Este es el código:

Código PHP:
//Hazte cuenta de que puede tardar más de 30 segundos.
set_time_limit(0);

//Conectamos al host
$FtpConn ftp_connect("ftp.eltelegrafo.com");

//Nos autentificamos como usuarios registrados o anónimos
if(!ftp_login($FtpConn,"anonymous","[email protected]")){
    echo 
"No se ha podido realizar la conexión";
    exit;


Obviamente el usuario y la contraseña no es la verdadera en este ejemplo, pero al probarlo con los datos correctos me aparece:

Warning: ftp_login() [function.ftp-login]: Login incorrect. in C:\AppServ\www\publicar_fotos.php on line 18
No se ha podido realizar la conexión

Creo mi problema está aquí
Código PHP:
$FtpConn ftp_connect("ftp.eltelegrafo.com"); 
Tu mencionas:
Cita:
tener un servidor de FTP en tu dominio remoto.
Lo que hice fue conectarme al servidor creando una nueva conexión de red por Mis Sitios de Red.

Saludos
  #5 (permalink)  
Antiguo 03/07/2008, 15:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Copiar archivo local al servidor.

Hola ci2000,

Si te fijas PHP mismo te esta dando el error, y es que tu usuario / contraseña están incorrectos.

Saludos.
  #6 (permalink)  
Antiguo 03/07/2008, 15:24
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Copiar archivo local al servidor.

Si, del usuario y la contraseña estoy seguro que están bien ya que por Mis Sitios de red accedo sin problemas y puedo copiar y pegar archivos en el servidor.

Pienso que el problema está en
Código PHP:
$FtpConn ftp_connect("ftp.eltelegrafo.com"); 
porque en
Código PHP:
ftp_login($FtpConn,"anonymous","[email protected]"
se utiliza la variable $FtpConn y como soy novato en PHP creo que tengo mal configurada la conexión al servidor o no es correcta la forma de escribir "ftp.eltelegrafo.com".

Saludos
  #7 (permalink)  
Antiguo 03/07/2008, 17:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Copiar archivo local al servidor.

Prueba cambiar la dirección por la IP del servidor.

Saludos.
  #8 (permalink)  
Antiguo 03/07/2008, 19:37
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Copiar archivo local al servidor.

¿Es necesario que antes de copiar deba crear una nueva conexión por Mis Sitios de red?
  #9 (permalink)  
Antiguo 03/07/2008, 19:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Copiar archivo local al servidor.

Hola ci2000,

No es necesario, ya que es independiente la forma de conexión con PHP de tu conexión por Mis Sitios de Red.

Saludos.
  #10 (permalink)  
Antiguo 03/07/2008, 19:53
 
Fecha de Ingreso: septiembre-2003
Mensajes: 72
Antigüedad: 21 años, 2 meses
Puntos: 3
Respuesta: Copiar archivo local al servidor.

usa este script que sube los archivos directamente con PHP

http://www.forosdelweb.com/f18/faqs-...00/#post249389
__________________
Aplitec
  #11 (permalink)  
Antiguo 03/07/2008, 20:45
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
Gracias patolinec por contestar, pero tu link sube a través de un formulario.

En mi caso tengo varias fotos en una carpeta local y quiero subirlas via FTP. O sea el usuario hará un click en un botón y automáticamente deben suibr.

Para saber la ip del servidor ¿esta bien hacer ping www.eltelegrafo.com desde la linea de comandos?

Un dato por si sirve de algo.

Hice que se vea el contenido de la variable $FtpConn. Muestra: Resource id #2

No sé si es correcto o no que contenga ese dato.

La otra gran pregunta que me hago ¿el usuario y contraseña que utilizo para entrar el servidor por Mis Sitios de red es el mismo que debo utilizar en ftp_login?

Última edición por GatorV; 03/07/2008 a las 22:39
  #12 (permalink)  
Antiguo 03/07/2008, 21:51
 
Fecha de Ingreso: septiembre-2003
Mensajes: 72
Antigüedad: 21 años, 2 meses
Puntos: 3
Respuesta: Copiar archivo local al servidor.

mmm, bueno te entiendo, y si generalemente el nombre y contraseña de acceso al panel de control es el de ftp
__________________
Aplitec
  #13 (permalink)  
Antiguo 03/07/2008, 21:51
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 21 años, 2 meses
Puntos: 4
Respuesta: Copiar archivo local al servidor.

En teoria si, pero te sugiero algo, si tu servidor remoto es Linux prueba conectarte con el usuario sin colocar arroba+el dominio...

Prueba a ver que tal...
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.
  #14 (permalink)  
Antiguo 03/07/2008, 22:25
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años, 7 meses
Puntos: 33
Respuesta: Copiar archivo local al servidor.

ci2000:
Este codigo lo he probado muchas veces con exito; partiendo de lo que ha dicho GatorV, que debes tener un servidor FPT instalado donde pretendes transferir el o los archivos.
En este caso es una Imagen del tipo JPG ->
<?php
$archivo = 'IMG_0063.jpg';
$archivo_remoto = 'leame.jpg';
$servidor_ftp = 'ftp.tusitio.com';
// configurar la conexion basica
$id_con = ftp_connect($servidor_ftp);
// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, "ci2000", "ftpci2000");
// cargar un archivo
if (ftp_put($id_con, $archivo_remoto, $archivo, FTP_BINARY)) {
echo "se ha cargado $archivo satisfactoriamente\n";
} else {
echo "Hubo problema durante la transferencia de $archivo\n";
}
// cerrar la conexion
ftp_close($id_con);
?>
Voy a crear un archivo de nombre leame.jpg y depositarlo
en el directorio que corresponde al usuario ci2000 en el servidor
FPT ftp.tusitio.com.
Ahora fijate bien: si el dominio tusitio.com tiene su ftp.tusitio.com y
una IP que apunta a ftp.tusitio.com entonces funcionara de otra manera
deberas utilizar la IP fija y publica donde esta instalado el servidor ftp
para que trabaje correctamente.
Saludos
Y espero te ayude
franco
P.S. Observa que para archivos binarios como los de imagenes debes utilizar
FTP_BINARY para que el traslado funcione adecuadamanete.
  #15 (permalink)  
Antiguo 04/07/2008, 06:09
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Copiar archivo local al servidor.

Uds. mencionan
Cita:
debes tener un servidor FTP instalado
.

Me parece que ahí está el problema.

¿Cómo sé si el servidor es FTP o qué hay que hacer para que lo sea?

Un dato por si sirve de algo.

Hice que se vea el contenido de la variable $FtpConn. Muestra: Resource id #2

No sé si es correcto o no que contenga ese dato.

Saludos
  #16 (permalink)  
Antiguo 04/07/2008, 08:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Copiar archivo local al servidor.

Hola ci2000,

Si te puedes conectar vía mis sitios de red, yo creo si debes de tener un servidor FTP, aunque para asegurarte haz un ping al puerto 21 de tu servidor para que veas si esta activado el servidor FTP.

Si $FtpConn te muestra Resource id #2 es que la conexión fue exitosa y te devolvió un apuntador hacia el FTP, por lo que yo creo sí tienes un servidor FTP.

Saludos.
  #17 (permalink)  
Antiguo 04/07/2008, 13:59
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Copiar archivo local al servidor.

Bueno, finalmente pude logearme. Cambié el usario del servidor y listo.

Ahora tengo otro problema con este código:

Código PHP:
$archivo 'C:/AppServ/www/fotos/ojala.jpg';
$archivo_remoto '/fotos/ojala.jpg';
$servidor_ftp 'www.eltelegrafo.com';
// configurar la conexion basica
$id_con ftp_connect($servidor_ftp);
// iniciar sesion con nombre de usuario y contrasenya
$resultado_login ftp_login($id_con"usuario""clave");
// cargar un archivo
if (ftp_put($id_con$archivo_remoto$archivoFTP_BINARY)) {
echo 
"se ha cargado $archivo satisfactoriamente\n";
} else {
echo 
"Hubo problema durante la transferencia de $archivo\n";
}
// cerrar la conexion
ftp_close($id_con); 
Me muestra el mensaje:

Warning: ftp_put() [function.ftp-put]: /fotos/ojala.jpg: No such file or directory in C:\AppServ\www\publicar_fotos.php on line 36
Hubo problema durante la transferencia de C:/AppServ/www/fotos/ojala.jpg

Saludos
  #18 (permalink)  
Antiguo 04/07/2008, 14:14
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años, 7 meses
Puntos: 33
Respuesta: Copiar archivo local al servidor.

ci2000:
Lo que el error te esta diciendo es que
no se encontro el archivo de origen.
Asegurate que ojala.jpg, existe y que
la ruta esta en orden y de acuerdo a tu sistema operativo
por lo demas todo parece estar bien.
Saludos
Franco
P.S. Otra alternativa es que pongas el archivo ojala.jpg en el mismo directorio donde esta publicar_fotos.php y asegurate que fotos es directorio en el servidor remoto.
Y logicamente, $archivo = 'ojala.jpg';
  #19 (permalink)  
Antiguo 04/07/2008, 16:44
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Copiar archivo local al servidor.

Funciona!!!

En realidad este último mensaje se refería a que tenía malel path de destino.

Gracias a todos por la ayuda.
  #20 (permalink)  
Antiguo 28/11/2009, 13:53
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 16 años, 2 meses
Puntos: 0
Sonrisa Respuesta: Copiar archivo local al servidor.

Cita:
Iniciado por ci2000 Ver Mensaje
Funciona!!!

En realidad este último mensaje se refería a que tenía malel path de destino.

Gracias a todos por la ayuda.


oe man crees que puedas poner tu codigo para ver como quedo
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 22:36.