Tema: if ftp
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/10/2012, 20:55
Avatar de Patriarka
Patriarka
 
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
if ftp

Hola gente, tengo un problema muy simple pero que no puedo validar facilmente.
Tengo que conectarme a un ftp y descargar imagenes en un mi sitio x.
todo lindo pero no se como validar en caso de que los datos ftp sean incorrectos.
Cada usuario tiene su propio ftp: un fotografo y un cliente que compra sus fotos.

Código PHP:
Ver original
  1. <?
  2. $sql_ftp_user = "SELECT * FROM usuarios WHERE usuario_id = '{$usuario_id}'";
  3. $res = mysql_query($sql_ftp_user);    
  4. $row = mysql_fetch_object($res);
  5. $userFTP    =  $row->usuario_user_ftp;
  6. $passFTP   = $row->usuario_pass_ftp;
  7.  
  8.  /*
  9.   * conectar FTP
  10.   */
  11.  $id_ftp = ConectarFTP($userFTP, $passFTP);
  12.  
  13. # CONSTANTES
  14. define("SERVER","ftp.site.com"); //IP o Nombre del Servidor
  15. define("PORT",21); //Puerto
  16.  
  17. function ConectarFTP($USER,$PASSWORD){
  18.     //Permite conectarse al Servidor FTP
  19.     $id_ftp=ftp_connect(SERVER,PORT); //Obtiene un manejador del Servidor FTP
  20.     ftp_login($id_ftp,$USER,$PASSWORD); //Se loguea al Servidor FTP
  21.     ftp_pasv($id_ftp,true); //Establece el modo de conexión
  22.     return $id_ftp; //Devuelve el manejador a la función
  23. }
  24. ?>
Esto funciona perfecto, pero esta linea si es true me devuelve el manejador de la conexion pero si es false me da un error:

$id_ftp=ftp_connect(SERVER,PORT);

entonces como puedo validar por que hay que tener en cuenta que $id_ftp lo necesito para las siguientes lineas:

ftp_login($id_ftp,$USER,$PASSWORD);
ftp_pasv($id_ftp,true);

si hago esto:
if(ftp_connect(SERVER,PORT)){
//DA TRUE Y ESTA OK
}else{
//DA FALSE Y ESTA OK, no me tira el error
}

pero como obtengo el $id_ftp?
hacindo esto esta mal
if($id_ftp = ftp_connect(SERVER,PORT)){ ... }

alguna sugerencia?