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 — Lit les informations sur un fichier à partir d'un pointeur de fichier
Description
array fstat
( resource $handle
)
Rassemble les informations sur le fichier dont on connaît le pointeur handle. fstat() est similaire à la fonction stat(), hormis le fait qu'elle utilise un pointeur de fichier, au lieu d'un nom de fichier.
Liste de paramètres
Valeurs de retour
Retourne un tableau contenant les statistiques pour le fichier ; le format de ce tableau est décrit en détail sur la page de documentation de la fonction stat().
Exemples
Exemple #1 Exemple avec fstat()
<?php
// ouvre un fichier
$fp = fopen("/etc/passwd", "r");
// lit des informations
$fstat = fstat($fp);
// ferme le fichier
fclose($fp);
// affiche le résultat
print_r(array_slice($fstat, 13));
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
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
)
Notes
Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.
broom at alturnanetworks dot com
03-Oct-2008 05:21
sheran at comtrust dot co dot ae
21-Feb-2001 06:14
On Windows NT the typical array element names for the fstat function are:
dev
ino
mode
nlink
uid
gid
size
atime
mtime
ctime
