©
Ce document utilise Manuel du site Web PHP chinois Libérer
(PHP 4, PHP 5, PHP 7)
fstat — 通过已打开的文件指针取得文件信息
$handle
)
获取由文件指针 handle
所打开文件的统计信息。本函数和 stat()
函数相似,除了它是作用于已打开的文件指针而不是文件名。
handle
文件系统指针,是典型地由 fopen() 创建的 resource (资源)。
返回一个数组具有该文件的统计信息,该数组的格式详细说明于手册中 stat() 页面里。
Example #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 )
Note: 此函数不能作用于远程文件,被检查的文件必须是可通过服务器的文件系统访问的。
[#1] broom at alturnanetworks dot com [2008-10-03 03:21:38]
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)