繁体   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