Foros del Web » Programando para Internet » PHP »

¿cómo saber si existe un fichero en una ftp?

Estas en el tema de ¿cómo saber si existe un fichero en una ftp? en el foro de PHP en Foros del Web. Hola La cuestión es la siguiente. Conecto con mi servidor ftp, subo archivos, los elimino y todo eso, pero... ¿cómo puedo saber si existe un ...
  #1 (permalink)  
Antiguo 05/04/2009, 05:58
 
Fecha de Ingreso: abril-2009
Mensajes: 160
Antigüedad: 15 años
Puntos: 3
¿cómo saber si existe un fichero en una ftp?

Hola

La cuestión es la siguiente.
Conecto con mi servidor ftp, subo archivos, los elimino y todo eso, pero...
¿cómo puedo saber si existe un fichero en un directorio de mi ftp?
con file_exists lo comprueba en local, no en el servidor.

gracias...
  #2 (permalink)  
Antiguo 05/04/2009, 06:08
 
Fecha de Ingreso: marzo-2007
Mensajes: 14
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: ¿cómo saber si existe un fichero en una ftp?

Qué tal si intentas descargarlo? Si no existe no podrás... eso te generará un error que puedes capturar sin interrumpir la aplicación...

Ej:

Código PHP:
<?
    
try //Vamos a INTENTAR (try) descargar un fichero del servidor FTP
    
{
        
//Aquí el código que utilizas para descargar el archivo del FTP
        
        
$Existe 1//establecemos que el archivo existe... después más abajo verificaremos eso...
    
}
    catch(
Exception $e//Si es que se produce un error (o sea, que no existe el archivo)
    
{                           //entonces
        
$Existe 0//establecemos que NO existe, porque se produjo el error...
    
}
    
?>
Suerte!

Saludos
  #3 (permalink)  
Antiguo 05/04/2009, 09:34
 
Fecha de Ingreso: abril-2009
Mensajes: 160
Antigüedad: 15 años
Puntos: 3
ya, es la única manera? quiero decir ¿si existe exactamente algo para saber si existe el archivo como ocurre en local?

gracias

Además esto así me da error

Cita:
<?php
// comprobar que galerias tienen archivo novedad
include("ftp.php");
function comprobar($directorio){
$id_ftp=ftp("000.000.000.000","21","usuario","pass word",$directorio);
try {
if (ftp_get($id_ftp, "novedades.txt", "novedades.txt", FTP_BINARY)){
$existe=1;
unlink("novedades.txt");
}
}
catch (Exception $e) {
$existe=0;
}
return ($existe);
}
$resultado=comprobar("public_html/galeria_correo");
echo $resultado;
?>
¿por qué? el try catch no tira...

un saludo

Última edición por GatorV; 05/04/2009 a las 11:25
  #4 (permalink)  
Antiguo 05/04/2009, 11:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ¿cómo saber si existe un fichero en una ftp?

La función ftp_get, no tira excepciones, tienes que usar un if/else normal.

Saludos.
  #5 (permalink)  
Antiguo 05/04/2009, 11:45
 
Fecha de Ingreso: abril-2009
Mensajes: 160
Antigüedad: 15 años
Puntos: 3
Respuesta: ¿cómo saber si existe un fichero en una ftp?

bueno, lo he solucionado de otra manera,

así, y funciona perfectamente

Cita:
<?php
// comprobar que galerias tienen archivo novedad
error_reporting(0);

function comprobar($directorio){
include("ftp.php");
$id_ftp=ftp("000.000.000.000","21","usuario","pass word",$directorio);
if (ftp_get($id_ftp, "novedades.txt", "novedades.txt", FTP_BINARY)){
$existe=1;
unlink("novedades.txt");
}else{
$existe=0;
}
return ($existe);
}
$resultado=comprobar("public_html/galeria_fotografica");
echo $resultado;
?>
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 23:43.