我正在尝试创建一个基于 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、大小访问和修改时间,我认为没有任何东西可以用来识别文件夹的文件,如果有人有办法解决这个问题,我会非常感激
贵宾32