簡體   English   中英

phpseclib sftp->put() 命令:文件內容只是一個字符串,不是預期的 PDF 文檔

[英]phpseclib sftp->put() command: File contents are just a string, not the expected PDF document

我正在嘗試使用 $sftp-put() 將 PDF 文檔從舞台服務器上傳到遠程位置;

代碼:

$sftp = new SFTP($config::SFTP_SERVER);

// login to remote server
if (!$sftp->login($config::SFTP_USER, $config::SFTP_PASSWORD)) {
    throw new Exception('Login failed');
}

// move to relevant directory
$sftp->chdir('fatca');

// upload file
$uploadFile = $sftp->put('test-pdf-upload.pdf', '/srv/www/vhosts/stage.johno.com/fatca/src/uploads/pdfs/345-553453-434__05122017_16:45:26.pdf', NET_SFTP_LOCAL_FILE);

// Error checking for local env only
var_dump($uploadFile);
var_dump($sftp->getSFTPLog());

我期待查看相同的 PDF,其中包含用戶數據和一些用戶上傳的圖像。 我還確認已在登台服務器上成功創建了原始 PDF,它完好無損並顯示了相關信息。

生成的文件是在新的遠程服務器位置創建的,但它已損壞/無法讀取。

var_dump($sftp->getSFTPLog()); 也不鼓勵:

bool(false)

我在這里做錯了什么? 感覺我已經很好地遵循了 phpseclib 文檔......盡管它是在屏幕前度過的漫長而漫長的日子之一!

任何建議一如既往地非常感謝。

您正在使用 phpseclib 2.0。 我可以判斷,因為您正在執行new SFTP()而不是new Net_SFTP() 對於 2.0,您需要執行SFTP::SOURCE_LOCAL_FILE 例如。

$uploadFile =
    $sftp->put(
      'test-pdf-upload.pdf',
      '/srv/www/vhosts/stage.johno.com/fatca/src/uploads/pdfs/345-553453-434__05122017_16:45:26.pdf',
      SFTP::SOURCE_LOCAL_FILE);

暫無
暫無

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

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