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 — Lê informações sobre um arquivo usando um ponteiro de arquivo aberto
Descrição
array fstat
( resource $handle
)
Obtêm estatísticas do arquivo aberto pelo ponteiro de arquivos handle . Esta função é similar à função stat() exceto que ela opera em um ponteiro de arquivo aberto ao invés de um nome de arquivo.
Parâmetros
Valor Retornado
Retorna um array com as estatísticas de um arquivo. O formato do array é descrito em detalhes na página do manual sobre stat().
Exemplos
Exemplo #1 Exemplo fstat()
<?php
// abre um arquivo
$fp = fopen("/etc/passwd", "r");
// colhe as estatísticas
$fstat = fstat($fp);
// fecha o arquivo
fclose($fp);
// imprime somente a parte de índices associativos
print_r(array_slice($fstat, 13));
?>
O exemplo acima irá imprimir 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
Nota: Esta função não trabalha com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.
fstat
broom at alturnanetworks dot com
03-Oct-2008 10:21
03-Oct-2008 10:21
sheran at comtrust dot co dot ae
22-Feb-2001 01:14
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
