簡體   English   中英

使用PHP的ssh2_scp_send()會損壞pdf

[英]ssh2_scp_send() using php corrupts pdf

將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文件,但已損壞。

嘗試使用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,它是純PHP SFTP實現 與libssh2相比,它具有許多優點。 即。 它更快,並且具有更好的公鑰支持

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

$sftp = new Net_SFTP('www.domain.tld');
$sftp->login('username', 'password');

$sftp->put('1mb', str_repeat('a', 1024 * 1024));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM