Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过phpseclib将文件上载到特定目录_Php_Amazon Ec2_Amazon_Phpseclib - Fatal编程技术网

通过phpseclib将文件上载到特定目录

通过phpseclib将文件上载到特定目录,php,amazon-ec2,amazon,phpseclib,Php,Amazon Ec2,Amazon,Phpseclib,您好,我在将文件上载到文件夹时遇到问题,我的代码如下: set_time_limit(0); include('Net/SFTP.php'); include('Crypt/RSA.php'); $key = new Crypt_RSA(); $key->loadKey(file_get_contents('key/key.pem')); $sftp = new Net_SFTP('ec2-xx-xx-xx-xxx.compute.amazonaws.com'); if (!$sftp-&

您好,我在将文件上载到文件夹时遇到问题,我的代码如下:

set_time_limit(0);
include('Net/SFTP.php');
include('Crypt/RSA.php');
$key = new Crypt_RSA();
$key->loadKey(file_get_contents('key/key.pem'));
$sftp = new Net_SFTP('ec2-xx-xx-xx-xxx.compute.amazonaws.com');
if (!$sftp->login('root', $key)) {
    exit('Login Failed');
}
else{
    echo'Login Successfull';
}
echo '<br>';
print_r($sftp->nlist($sftp->chdir("new_folder")));
echo '<br>';
$sftp->put('file.txt', 'hello, world!');

感谢各位,我使用以下代码解决了此问题:

$success_t = $sftp->put($remote_directory . $temps_file,$local_directory . $temps_file);

您确定
new\u文件夹
存在吗?顺便说一句,
chdir()
的返回值是一个布尔值,因此使用它作为
nlist()
的第一个参数可能不会像您想象的那样工作。new_folder只是我在这个问题中给出的一个示例,它本来是不同的。您检查了
->chdir()
的返回值吗?如果它是
false
,它不会更改目录。是的,它更改了目录,但在下一个命令中,它又恢复为/root folder。奇怪的是,您的
print\u r
输出了任何东西。当我试着像你那样做的时候,它什么也没做。它应该尝试向您显示
/root/1
的内容(因为
chdir
可能返回一个
true
,该值被转换为
'1'
)。由于
/root/1
不存在,根据您的
打印\u r
,您不应该得到任何输出。您得到的输出看起来更像我希望在
/
中看到的,而不是
/root/
。无论如何,请尝试启用日志记录。例如,
define('NET_SFTP_LOGGING',3)如果您可以将结果添加到您的源代码中。那会很有帮助的。
$success_t = $sftp->put($remote_directory . $temps_file,$local_directory . $temps_file);