3

我正在使用 phpseclib - SFTP 类,并试图上传这样的文件 -

$sftp = new Net_SFTP('mydomain.com');
if (!$sftp->login('user', 'password')) {
    exit('Login Failed');
}
$sftp->put('/some-dir/',$fileTempName);

然而,该文件并没有被上传到里面some-dir,而是在之前上传了一个目录(到起始目录,假设它是根目录)。这让我发疯,我想我已经尝试了some-dir/or /some-diror的所有组合/some-dir/,但文件不会上传到那里。

4

1 回答 1

3

我不认为你的看跌期权正在做你认为它正在做的事情。根据文档,您需要Net_SFTP::chdir('/some-dir/')切换到要将文件发送到的目录,然后put($remote_file, $data),其中remote_file是文件名,$data是实际文件数据。

示例代码:

<?php
include('Net/SFTP.php');

$sftp = new Net_SFTP('www.domain.tld');
if (!$sftp->login('username', 'password')) {
    exit('Login Failed');
}

echo $sftp->pwd() . "\r\n";
$sftp->put('filename.ext', 'hello, world!');
print_r($sftp->nlist());
?>
于 2012-11-21T17:46:20.340 回答