通过phpseclib上传的文件减少为14个字节?

我最近为服务器配置了phpseclib 2.0;所以我对此很陌生。当尝试通过普通的HTML格式和使用phpseclib的PHP上传小于1 MB的jpg图像时,该图像将完全按照我想要的位置上传,但是文件大小仅为14字节(970 KB是原始文件大小)。有什么帮助吗?我的代码如下:

// Establish the SFTP connection
$sftp = new \phpseclib\Net\SFTP('www.myhost.com');

// Login with username and password,and inform if the login was successful
if (!$sftp->login('myuser','mypassword')) {
  $uploadAnswer = 'SFTP Connection failed!';
  } else {
  $uploadAnswer = 'SFTP Connection succesful!';
  // migrate to root folder
  $rootPath = $sftp->pwd();
  // Create destination Path
  $destinationPath = $rootPath.'/myfolder/'.$_FILES['myupload']['name'];

  // Load the file onto the server,and inform if upload was successful
  if (!$sftp->put($destinationPath,$_FILES['myupload']['tmp_name'])) {
    $uploadAnswer = "There's been a problem with the Upload!";
    } else {
    $uploadAnswer = 'File successfully uploaded!';
    }
  }

运行此命令时,消息“文件成功上传!”也可以正确显示。这是怎么回事?

xxnj916 回答:通过phpseclib上传的文件减少为14个字节?

替换行

$sftp->put($destinationPath,$_FILES['myupload']['tmp_name'])

$sftp->put($destinationPath,$_FILES['myupload']['tmp_name'],SFTP::SOURCE_LOCAL_FILE)

如所提供的链接所建议,无法正常工作。解决方案是:

$sftp->put($destinationPath,\phpseclib\Net\SFTP::SOURCE_LOCAL_FILE)

这完成了工作;因此问题是由于某些原因,SFTP类可能无法正确识别。如果有人已经遇到过同样的问题;请让我知道。

本文链接:https://www.f2er.com/2569104.html

大家都在问