ssh2_scp_send 文件没有被复制,没有错误

Posted

技术标签:

【中文标题】ssh2_scp_send 文件没有被复制,没有错误【英文标题】:ssh2_scp_send file is not copied, no errors 【发布时间】:2019-12-04 12:51:31 【问题描述】:

虽然连接正常 ssh2_scp_send 没有复制文件 (pdf)。

为了检查连接,我检查了源文件是否存在,并且我也测试并成功使用了:- ssh2_sftp_mkdir- ssh2_scp_recv

这是我的 php 代码:

$my_sftp = parse_ini_file(config/sftp.ini.php');
$open_file = fopen($contract_pdf_path.$contract_pdf_name, 'r');

$destination = $my_sftp['sftp_root_to_dir'].'auftrag/'.$contract_pdf_name;              
$connection = ssh2_connect($my_sftp['sftp_host'], $my_sftp['sftp_port']);
            ssh2_auth_password($connection,$my_sftp['sftp_user'], $my_sftp['sftp_password']);

$sftp = ssh2_sftp($connection);

$result = ssh2_scp_send($connection, $contract_pdf_path.$contract_pdf_name, $destination, 0644);

我检查了 $result 并得到了 1,如前所述,我用其他函数测试成功。

有人知道吗?

【问题讨论】:

【参考方案1】:

它可能关注(或感兴趣)的人: 在另一个论坛上得到了一些提示:

$my_sftp = parse_ini_file('config/sftp.ini.php');
$destination = $my_sftp['sftp_root_to_dir'] . 'auftrag/' . $contract_pdf_name;
$connection = ssh2_connect($my_sftp['sftp_host'], $my_sftp['sftp_port']);
ssh2_auth_password($connection, $my_sftp['sftp_user'], $my_sftp['sftp_password']);
$sftp = ssh2_sftp($connection);
$sftpStream = fopen('ssh2.sftp://'.intval($sftp).$destination, 'w');
fwrite($sftpStream,file_get_contents(realpath( $contract_pdf_path.$contract_pdf_name)));
fclose($sftpStream);

而这个工作:-)

【讨论】:

以上是关于ssh2_scp_send 文件没有被复制,没有错误的主要内容,如果未能解决你的问题,请参考以下文章

Icon.png 文件没有被复制到分发包中

上传文件报错种类

Android studio 报错问题

用vs2015写c++,编译报错项目已过期,怎么回事?

iphone手机复制视频到电脑显示连接的设备没有发挥作用是怎么回事

Xcode 没有复制我文件夹中的文件