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 — Obtiene información acerca de un archivo usando un puntero al archivo abierto
Descripción
array fstat
( resource $handle
)
Reúne las estadísticas de un archivo abierto por el puntero al archivo referenciado por handle. Esta función es similar a la función stat() excepto que opera sobre un puntero a un archivo en vez de sobre un nombre de archivo.
Parámetros
Valores devueltos
Devuelve un matriz con las estadísticas del archivo; el formato de la matriz está descrito en la página del manual de stat().
Ejemplos
Example #1 Ejemplo de fstat()
<?php
// abrir un archivo
$fp = fopen("/etc/passwd", "r");
// reunir estadísticas
$fstat = fstat($fp);
// cerrar el archivo
fclose($fp);
// imprimir sólo la parte asociativa
print_r(array_slice($fstat, 13));
?>
El resultado del ejemplo sería algo similar a:
Array
(
[dev] => 771
[ino] => 488704
[mode] => 33188
[nlink] => 1
[uid] => 0
[gid] => 0
[rdev] => 0
[size] => 1114
[atime] => 1061067181
[mtime] => 1056136526
[ctime] => 1056136526
[blksize] => 4096
[blocks] => 8
)
Notas
Note: Esta función no funcionará en ficheros remotos ya que el fichero debe ser accesible vía el sistema de ficheros del servidor para poder ser examinado.
broom at alturnanetworks dot com
03-Oct-2008 10:21
sheran at comtrust dot co dot ae
22-Feb-2001 01:14
On Windows NT the typical array element names for the fstat function are:
dev
ino
mode
nlink
uid
gid
size
atime
mtime
ctime
