Another ftp_get_contents() approach, using a temperary stream handler. Returns file contents of remote file as string.
<?php
function ftp_get_contents ($conn_id, $remote_filename) {
//Create temp handler:
$tempHandle = fopen('php://temp', 'r+');
//Get file from FTP assuming that it exists:
ftp_fget($conn_id, $tempHandle, $remote_filename, FTP_ASCII, 0));
//Getting detailed stats to check filesize:
$fstats = fstat($tempHandle);
return fread($tempHandle, $fstats['size']);
}
?>
(It is recommended to add some error handling)
fstat
(PHP 4, PHP 5)
fstat — Liefert Informationen über eine Datei mit offenem Dateizeiger
Beschreibung
Trägt die Statistiken der mittel des Dateizeigers handle geöffneten Datei zusammen. Diese Funktion ist ähnlich der Funktion stat(), außer dass sie mit einem offenen Dateizeiger anstatt eines Dateinamens arbeitet.
Gibt die Statistiken einer Datei in Form eines Arrays zurück. Das Format des zurückgegebenen Arrays wird in stat() im Detail beschrieben.
Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().
Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.
fstat
03-Oct-2008 12:21
29-Jan-2006 04:12
dom at dodgydom dot com wrote:
Best way i found was to open the url into $data and make a temporary file with the contents of $data then get the fstats on the temporary file :).
OMG why? The only thing that will remain is the file size. You also download up to 1G file, which probably is not what you want.
To get size use PHP's function filesize() with URL wrappers or ask yourself via HTTP.
22-Feb-2001 02:14
On Windows NT the typical array element names for the fstat function are:
dev
ino
mode
nlink
uid
gid
size
atime
mtime
ctime
