downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ssh2_sftp_symlink> <ssh2_sftp_rmdir
Last updated: Fri, 06 Nov 2009

view this page in

ssh2_sftp_stat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_statリモートファイルシステム上のファイルの情報を取得する

説明

array ssh2_sftp_stat ( resource $sftp , string $path )

シンボリックリンクを辿って リモートファイルシステム上のファイルの情報を取得します。

PHP 5 では、この関数は ssh2.sftp:// ラッパーを使用した場合の stat() 関数と同様です。 返される値も同じです。

パラメータ

sftp

ssh2_sftp() でオープンした SSH2 SFTP リソース。

path

返り値

どのような値が返されるのかについての詳細は、 stat() を参照ください。

例1 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'];
?>

参考

  • ssh2_sftp_lstat() - シンボリックリンクの情報を取得する
  • lstat() - ファイルあるいはシンボリックリンクの情報を取得する
  • stat() - ファイルに関する情報を取得する



add a note add a note User Contributed Notes
ssh2_sftp_stat
vanscot on gemail
27-Mar-2008 08:53
for some unkwon reason, stream_set_timeout() does not work on ssh2_exec, and strem_set_blocking (on my personal case) just hangs the script until it hits the max_execution_time.
Using sleep() or usleep() does not help either, because they are arbitrary and the command passed to ssh2_exec may have not finished yet.

The (best?) way to workaround this case was using a sh script on the remote server an a file as a handshake, the using this function to stat the file and, given a certain rule, fetching the result using stream_get_contents().

The sh script should create a dummy not zero size file (the handshake), run the commands then truncate the file (finished execution of the command). On the other side, the php script, should be stating the file until it gets a 0 size and then fetch the results.

I hope that this would be usefull to somebody else until stream_set_timeout() works on ssh2_exec or the functions adds a "timeout" parameter.

ssh2_sftp_symlink> <ssh2_sftp_rmdir
Last updated: Fri, 06 Nov 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites