Pls note that stat does not seem to give proper filesizes even with 64 bit php if files > 2Gb
PHP - Manual: ssh2_sftp_stat
2024-12-21
(PECL ssh2 >= 0.9.0)
ssh2_sftp_stat — Stat a file on a remote filesystem
$sftp
, string $path
): arrayStats a file on the remote filesystem following any symbolic links.
This function is similar to using the stat() function with the ssh2.sftp:// wrapper and returns the same values.
See the documentation for stat() for details on the values which may be returned.
示例 #1 Stating a file via SFTP
<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_stat($sftp, '/path/to/file');
$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>
Pls note that stat does not seem to give proper filesizes even with 64 bit php if files > 2Gb
Just to add further, that was for a php 5.3.5 box running a 64 bit linux os....
i havent tested on other versions yet.
But there is quite a lot of noise about this in php bug list.
As with stat(), the returned size of the file may be wrong if it is over 2GB.
官方地址:https://www.php.net/manual/en/function.ssh2-sftp-stat.php