phpseclib\Net\SFTP::mkdir PHP Method

mkdir() public method

Creates a directory.
public mkdir ( string $dir, $mode, $recursive = false ) : boolean
$dir string
return boolean
    function mkdir($dir, $mode = -1, $recursive = false)
    {
        if (!($this->bitmap & SSH2::MASK_LOGIN)) {
            return false;
        }
        $dir = $this->_realpath($dir);
        // by not providing any permissions, hopefully the server will use the logged in users umask - their
        // default permissions.
        $attr = $mode == -1 ? "" : pack('N2', NET_SFTP_ATTR_PERMISSIONS, $mode & 07777);
        if ($recursive) {
            $dirs = explode('/', preg_replace('#/(?=/)|/$#', '', $dir));
            if (empty($dirs[0])) {
                array_shift($dirs);
                $dirs[0] = '/' . $dirs[0];
            }
            for ($i = 0; $i < count($dirs); $i++) {
                $temp = array_slice($dirs, 0, $i + 1);
                $temp = implode('/', $temp);
                $result = $this->_mkdir_helper($temp, $attr);
            }
            return $result;
        }
        return $this->_mkdir_helper($dir, $attr);
    }

Usage Example

コード例 #1
0
ファイル: SFTPTestCase.php プロジェクト: maaking/phpseclib
 public function setUp()
 {
     parent::setUp();
     $this->scratchDir = uniqid('phpseclib-sftp-scratch-');
     $this->sftp = new SFTP($this->getEnv('SSH_HOSTNAME'));
     $this->assertTrue($this->sftp->login($this->getEnv('SSH_USERNAME'), $this->getEnv('SSH_PASSWORD')));
     $this->assertTrue($this->sftp->mkdir($this->scratchDir));
     $this->assertTrue($this->sftp->chdir($this->scratchDir));
 }
All Usage Examples Of phpseclib\Net\SFTP::mkdir