Italian Data di un file

AlpVir

Well-Known Member
Licensed User
E' possibile conoscere la data di creazione di un file presente nel web SENZA SCARICARLO (è molto molto grosso !) ?
Io credo di no, ma non si sa mai ...
Grazie anticipatamente
 

sirjo66

Well-Known Member
Licensed User
Anche io credo di no, e penso non si possa sapere la data nemmeno scaricandolo.
Io quando scarico dei files dal web mi ritrovo la data e l'ora del file di quando l'ho scaricato, non del file originale, almeno per me è così.

Sergio
 

AlpVir

Well-Known Member
Licensed User
In VB6 le seguenti istruzioni
B4X:
 Tx = "http://www ......./NomeFile.txt"
   Inet1.OpenURL (Tx)
   Dati = Inet1.GetHeader("Last-modified")
   LbLettura.caption = Dati
consentono di conseguire quanto desiderato. A questo punto credo proprio che anche in B4A si possa fare qualcosa di analogo.
 

AlpVir

Well-Known Member
Licensed User
Sapevo che c'era la possibilità di inserire codice Java in B4A. Il problema (almeno per me) è "quale codice inserire" ?
 

AlpVir

Well-Known Member
Licensed User
Il quesito da me postato diversi mesi fa è rimasto senza risoluzione.
Nel frattempo mi sono documentato ed ho visto che :
1) è possibile conoscere le caratteristiche di un file remoto tramite il protocollo FTP (che però richiede i permessi di accesso ad un sito web)
2) anche tramite l'HTTP ritengo che sia possibile farlo (è lo stesso meccanismo con cui un browser NON scarica un file se quello sul web è più antico di quello locale; per fare questo deve necessariamente verificare data e file di un file remoto; come fa ?)
Qualcuno ha voglia di pensarci ?
Grazie per l'attenzione.
 

iz0ndg

Member
Licensed User
Il campo da controllare è Last-Modifed dell'Header trasmesso dal Server nel momento di richiesta del file da parte del Client.
Al 'come fare' da B4A, non so risponderti.

Un'altra possibilità potrebbe essere di farti una funzione, in questo caso in php, che ti risponda ad una richiesta a cui passi il nome del file Es.:

B4X:
<?php
$filename = $_POST["filename"];
if (file_exists($filename)) {
 echo "$filename last modified: " . date ("F d Y H:i:s.", filemtime($filename));
}
?>
Il codice non l'ho provato ma ad occhio....
 

AlpVir

Well-Known Member
Licensed User
@iz0ndg
Grazie, ma la tua soluzione presuppone che si abbia la possibilità di eseguire script nello spazio Web, cosa non sempre possibile.
 

AlpVir

Well-Known Member
Licensed User
Ho trovato una possibile soluzione in questo post
http://www.b4x.com/android/forum/threads/httputils2-getheaders.45051/#content
L'ho provata e sembra proprio che funzioni. Devo ancora valutare se faccia il caso mio; non vorrei che, per leggere la data e l'ora di un file, lo caricasse interamente (sono svariati MB come detto nel mio primissimo intervento) prima di fornire il risultato.
EDIT: Ho verificato: per restituire la data di un file remoto di 50 MB impiega un secondo. Quindi non lo carica. Molto molto bene !
 
Last edited:
Top