在尝试使用 phpseclib 创建 SFTP 目录之前检查它是否存在

Sam*_*Sam 4 php sftp codeigniter phpseclib

我的模型中有以下功能:

public function createfolder($location, $name){
    define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX);
    $sftp = new Net_SFTP('xx.xxx.xx.xx');
    if (!$sftp->login('admin', '********')) {
        exit('Login Failed');
    }
    //moves to a location (Job folder for example)
    $sftp->chdir($location);
    //makes the folder
    $sftp->mkdir($name);
}
Run Code Online (Sandbox Code Playgroud)

这可行,但我想添加某种错误预防验证,如何使用 SFTP 检查文件夹是否存在?


我想我想出了一个解决方案:

chdir()更改目录、mkdir()创建目录和rmdir()删除目录。一旦失败,他们都会返回falsechdir()mkdir()、 并在操作成功完成时rmdir()返回。true

所以我可以使用一个if语句来检查if chdir() === truefalse查看该目录是否存在。

own*_*ing 5

您可以用来$sftp->is_dir($location)检查它是否是一个目录。