Ultima modifica file remoto

peppeocchi

Utente Attivo
20 Apr 2013
30
0
0
Salve,
mi chiedevo se si potesse vedere la data di ultima modifica di un file remoto.
Provando con filemtime() non va, conoscete qualche altro modo?

Edit: l'errore è questo
Warning: filemtime(): stat failed for http://url in /var/www/dir_....
01/01/1970 01:00:00
 
Ultima modifica:
Posta il codice e controlla che la risorsa il cui url lo dovresti inserire nella funzione filemtime() esista veramente.
 
Grazie per la risposta,
ho cambiato approccio, usando le funzioni filemtime o filesize o file_exists mi restituivano lo stesso errore, l'unica funzione che non andava in errore era fopen e file_get_contents.
Quindi mi ricopio il file in locale e faccio un controllo sulla dimensione.
A questo proposito, essendo su hosting condiviso ho le funzioni system() e exec() disabilitate, perchè sarebbe più semplice e veloce fare

PHP:
system("wget $file_remoto -O $temp");

C'è qualche metodo più veloce di: (in questo caso scarico prima il file compresso)

PHP:
$data = file_get_contents('http://file_remoto.sql.gz');
file_put_contents('tmp.sql.gz',$data);
$zip = gzfile('tmp.sql.gz');
$zip = implode($zip);
file_put_contents('tmp.sql',$zip);
 
C'è qualche metodo più veloce di: (in questo caso scarico prima il file compresso)
Be' quello descritto dal manuale, usando filemtime credo sia il più veloce. In più l'ho testato e non mi da errore.
Posta l'errore che ti da questo pezzo di codice.

PHP:
$file = 'asdasd.php';
if (file_exists($file)) {
    echo "Il file $file was last modified: " . date ("F d Y H:i:s.", filemtime($file));
}
 
Provato il codice, output bianco.
Ho dato uno sguardo alla documentazione di file_exists e ho trovato questo commento
unfortunately the file_exists can't reach remote servers

Comunque, eliminando il controllo sull'esistenza del file (anche perchè sono sicuro che esiste), il warning è questo

Codice:
Warning: filemtime(): stat failed for http://percorso/file.sql.gz in /var/www/p1.php on line 3
Il file http://percorso/file.sql.gz was last modified: January 01 1970 01:00:00.
 
Guarda girando in rete ho trovato questo su stackoverflow:
PHP:
$file = 'asdasd.php';
$lastModified = @filemtime($file);
if($lastModified == NULL)
    $lastModified = filemtime(utf8_decode($file));
echo $lastModified;
Era di risposta a un utente che aveva un problema simile al tuo. Prova a vedere se funziona altrimenti dobbiamo cercare altro :)
 

Discussioni simili