当我将pdf文件发送到服务器时,我遇到了问题。
当我尝试发送.csv文件时,我的脚本有效,但当我尝试发送pdf文件时出现问题
<?php
$user= "username";
$pass= "password";
$src= "/home/desktop/myfile.pdf";
$trg= "/server/path/myfile.pdf";
$con = ssh2_connect('myserver.com', 22);
ssh2_auth_password($con, $user, $pass);
ssh2_scp_send($con, $src, $trg);
?>
当我发送pdf时它在目标位置创建一个pdf文件,但它已损坏。
答案 0 :(得分:1)
尝试SFTP。示例如下。
使用libssh2:
<?php
$ssh = ssh2_connect('www.domain.tld');
ssh2_auth_password($ssh, 'username', 'password');
$sftp = ssh2_sftp($ssh);
$fp = fopen('ssh2.sftp://'.$sftp.'/home/username/1mb', 'w');
fwrite($fp, str_repeat('a', 1024 * 1024));
虽然我个人建议你改用phpseclib, a pure PHP SFTP implementation。它比libssh2有许多优点。即。 it's faster and has better public key support among other things:
<?php
include('Net/SFTP.php');
$sftp = new Net_SFTP('www.domain.tld');
$sftp->login('username', 'password');
$sftp->put('1mb', str_repeat('a', 1024 * 1024));