Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/05/2007, 02:53
Motki
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 0
subir por ftp un fichero generado de una bd

A ver si me podeis ayudar.
Quiero obtener un fichero con los paises que tengo almacenados en una base de datos.
Una vez los tengo generados , quiero guardar esos datos en un fichero que quiero subir por ftp.

El problema es que cuando intento subir por ftp los datos que acabo de generar , me dá error en la carga
$carga = ftp_put($id_con, $archivo_destino, $archivo_fuente, FTP_BINARY);
Y supongo que es porque el archivo fuente no tiene una ruta porque lo he generado previamente.....
Alguien sabe como obtener un fichero y después (sin guardarlo en el disco local), subirlo automáticamente por ftp?

Código PHP:
 
<?php  
// obtenemos el contenido
$contenido="";
$db = @mssql_connect("localhost","usuario","password") or die("Unable to connect to server");
mssql_select_db("BaseDatos");
$result mssql_query("SELECT * FROM paises");
for (
$i=0$i mssql_num_rows($result); $i++) {
  echo 
mssql_result($result,$i,"pais");
  echo 
"\n";  
  
$contenido $contenido.mssql_result($result,$i,"pais")."\n";
}
?> 
<?
// conexion por ftp
//nos conectamos por ftp
$servidor_ftp="123.456.789.123";
$nombre_usuario_ftp="usuario";
$contrasenya_ftp ="password";
$archivo_destino="archivo.csv";
$archivo_fuente$contenido
// establecer una conexion basica
$id_con ftp_connect($servidor_ftp);
// inicio de sesion con nombre de usuario y contrasenya
$resultado_login ftp_login($id_con$nombre_usuario_ftp$contrasenya_ftp);
// chequear la conexion
if ((!$id_con) || (!$resultado_login)) {
        echo 
"&iexcl;La conexi&oacute;n FTP ha fallado!";
        echo 
"Se ha intentado la conexion con $servidor_ftp para el " .
             
"usuario $nombre_usuario_ftp";
        exit;
    } else {
        echo 
"Conectado con $servidor_ftp, para el usuario $nombre_usuario_ftp";
    }
// cargar el archivo
$carga ftp_put($id_con$archivo_destino$archivo_fuenteFTP_BINARY);
// chequear el status de la carga
if (!$carga) {
        echo 
"&iexcl;La carga FTP ha fallado!";
    } else {
        echo 
"Se ha cargado $archivo_fuente a $servidor_ftp como $archivo_destino";
    }
// cierra la secuencia FTP
ftp_close($id_con);
?>
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI