0

Web ベースの sftp ページを作成しようとしていますが、問題があるのは、リストされたファイルがファイルまたはフォルダーであるかどうかを判断しようとすることだけです。を使用してディレクトリを正常にリストしています

$connection = ssh2_connect($_SESSION['Server'], $_SESSION['Port']);
if(ssh2_auth_password($connection, $_SESSION['Username'], $_SESSION['Password']))
{
    $sftp = ssh2_sftp($connection);
    $dir = "ssh2.sftp://$sftp/$directory";
    $handle = opendir($dir);
    while (false !== ($file = readdir($handle))) 
    {
        if ($file != "." && $file != "..")
        {
            $temp=$file;
            if(strlen($directory) > 0)
                $Path=$directory."/".$file;
            else
                $Path=$file;

            $statinfo = ssh2_sftp_stat($sftp, "/".$Path);
            echo "<a href=\"list.php?dir=".urlencode($Path)."\">$temp</a><br />";
        }
    }
     closedir($handle);
}

$file で is_dir() および is_file() php 関数を使用しようとしましたが、これはローカル ファイルシステムで作業しているときに正常に機能しますが、SFTP を使用すると両方とも FALSE が返され、ssh2_sftp_stat() を使用しようとしましたが、これは uid、gid、アクセスと変更時間のサイズと、フォルダーのファイルを識別するために使用できるものはないと思います。誰かがこれを解決する方法を持っている場合、私はそれを大いに感謝します

Vip32

4

1 に答える 1