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 — オープンしたファイルポインタからファイルに関する情報を取得する
説明
array fstat
( resource $handle
)
ファイルポインタhandle によりオープンされたファイルの統計情報を取得します。 この関数は関数stat()に似ていますが、 ファイル名の代わりにオープンされたファイルポインタを指定するところが異なります。
返り値
ファイルの統計情報の配列を返します。配列のフォーマットについては stat()のマニュアルをご覧ください。
例
例1 fstat() の例
<?php
// ファイルをオープンする
$fp = fopen("/etc/passwd", "r");
// 統計情報を収集する
$fstat = fstat($fp);
// ファイルをクローズする
fclose($fp);
// 連想配列部のみ表示する
print_r(array_slice($fstat, 13));
?>
上の例の出力は、 たとえば以下のようになります。
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
)
注意
注意: この関数では、 リモートファイル を 使用することはできません。これは、処理されるファイルがサーバの ファイルシステムによりアクセスできる必要があるためです。
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
