GETFILESIZE

Obtener el tamao de un archivo local o remoto.

Sintaxis: GETFILESIZE(ubicacin,archivo)

  • ubicacin: Conjunto a uno de los siguientes valores.
    LOCAL El archivo en el segundo parmetro es un archivo local.
    REMOTO El archivo en el segundo parmetro, es un archivo local que se encuentra en el servidor FTP.

  • archivo: nombre de archivo, con o sin ruta.


Valor retorno:
GETFILESIZE devuelve el tamao del archivo en bytes ,si la operacin fu un xito. En caso de error, devuelve un valor negativo del correspondiente cdigo de error. cdigo de error.

Comando de compatibilidad:
Este comando se aadi en ScriptFTP 3.2 realizado el 11 de Enero 2009.

Ver tambin:
GETFILETIME

Ejemplos:

# Obtener el tamao de archivo (en bytes) del archivo remoto
# test1.txt se encuentra en el directorio remoto actual
$tamao=GETFILESIZE(REMOTE,"test1.txt")

# El tamao es
PRINT($size)

# Obtener el tamao del archivo(en bytes) del archivo remoto
# test2.txt se encuentra en mi directorio remoto/myremotesubdir/
$size=GETFILESIZE(REMOTE,"myremotedir/myremotesubdir/test2.txt")

# El tamao es
PRINT($size)

# Obtener el tamao del archivo(en bytes) del archivo remoto
# test3.txt ubicado en el directorio raiz remoto
$size=GETFILESIZE(REMOTE,"/test3.txt")


# Obtener el tamao del archivo(en bytes) del archivo local
# test4.txt ubicado en el directorio local actual
$size=GETFILESIZE(LOCAL,"test4.txt")

# El tamao es
PRINT($size)

# Obtener el tamao del archivo(en bytes) del archivo local
# test5.txt ubicado en D:\ejemplo
$size=GETFILESIZE(LOCAL,"D:\example\test5.txt")

# El tamao es
PRINT($size)


# Este script comprueba cada 10 segundos, si un
# un archivo remoto, ha cambiado su tamao. Si el
# archivo cambia el tamao con la descarga.

:start

$result=OPENHOST("127.0.0.1","carl","123456")


# Comprueba sila conexin falla
IF($result!="OK")
   # Esperar 5 segundos y vuelva a intentarlo
   SLEEP(5)
   GOTO :inicio
END IF

:comprueba_archivo_tamao

$file_size=GETFILESIZE(REMOTE,"data.log")


# Comprueba siGETFILESIZE falla
IF($file_size<0)
   # esperar 5 segundos y vuelva a intentarlo
   SLEEP(5)
   
   # La conexin puede estar an abierta
   CLOSEHOST
   
   # Vaya al principio de el script
   GOTO :inicio
END IF

PRINT("Last size was ".$last_file_size)
PRINT("Read size is ".$file_size)

# Comprueba si el tamao del archivo a cambiado
IF($last_file_size!=$file_size)
   # el tamao ha cambiado.descarga el archivo
   
   PRINT("File size change detected")
   $result=GETFILE("data.log")
   
   # Si la descarga falla vuelva al inicio
   IF($result!="OK")
      # Esperar 5 segundos y vuelva a intentarlo
      SLEEP(5)
      
      # La conexin puede estar an abierta
      CLOSEHOST
      
      # Vuelva al inicio del script
      GOTO :inicio
   ELSE
      PRINT("El archivo se descarg correctamente ")
      $last_file_size=$file_size
      
      # Esperar 10segundos y comprobar si
      # El tanmao ha cambiado de nuevo
      SLEEP(10)
      GOTO :comprueba_archivo_tamao
   END IF
ELSE
   # El tamao no ha cambiado.
   # Esperar 10 segundos y vuelva a comprobar
   SLEEP(10)
   GOTO :comprueba_archivo_tamao
END IF