STFP连接和下载混淆

STFP Connection and Downloaded confusion

一直在尝试通过 PHP 将 Filezilla 和我的网站连接在一起,而 SFTP 被证明是乏味的。

你如何连接STFP,网上的信息大部分都很简短,我已经下载了SSH2.php文件并使用了文件中包含的代码(测试文件)和这是行不通的。页面加载不出来,显示一条错误消息,我怀疑是使用了 SSH2 功能。

连接

// Connect to FileZilla
include("../model/connection.php");
$con = new SFTPobj();
$connect =  $con->serverConnection();

测试文件:

Class SFTPobj{
function serverConnection()
{
    include('../controller/SSH2.php');
    $server = "xx";
    $user = "xx";
    $pass = "xx";  
    $ssh = new Net_SSH2($server);
        if (!$ssh->login( $user, $pass)) {
        exit('Login Failed');
    }
    echo $ssh->exec('pwd');
    echo $ssh->exec('ls -la');
}

}

测试文件- *代码(大部分不相关):

    <?php
    // Connect to database
    include("../model/connection.php");
    $con = new SFTPobj();
    $connect =  $con->serverConnection();

    if(isset($_POST['submit']))
        {
        $file = $_FILES['file'];
            print_r($file);

        $fileName=$_FILES['file']['name'];
        $fileTmpName=$_FILES['file']['tmp_name'];
        $fileSize=$_FILES['file']['size'];
        $fileError=$_FILES['file']['error'];
        $fileType=$_FILES['file']['type'];

        #only allow images
        $fileExt = explode('.', $fileName);
        $fileActualExt = strtolower(end($fileExt));

        #Image types
        $allowed = array('jpg','jpeg', 'png');

        #Check file type
        if(in_array($fileActualExt,$allowed))
        {
            if($fileError === 0)
            {
                if($fileSize < 500000) #500KB
                {
                    $fileNameNew = uniqid('', true).".".$fileActualExt; #Random Number Generate
                    $fileDestination = '../view/pictures/week1'.$fileNameNew;
                    move_uploaded_file($fileTmpName,$fileDestination);
                    header("Location:../view/test.php?uploadSuccess");
                }else{
                    echo "Your file is too big";
                }
            }else{
                echo "There was an error uploading your file";
            }
        }else{
            echo "You can not upload files of this type";
        }



    }

?>

来自您的文件:

include('../controller/SSH2.php');

下载的zip文件SSH2.php在Net/目录下。还有一个 Crypt/ 目录和一个 Math/ 目录。两者都是必需的,相对路径也需要正确。

您已从 Net/ 目录中取出 SSH2.php 这一事实让我认为您可能没有其他必需的文件。即使你这样做了,我也怀疑它们是否处于正确的相对位置。

此外,由于您似乎正在使用 1.0 分支,您可能需要设置 include_path 以使其正常工作,具体取决于您放置目录的位置:

<?php
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');

include('Net/SSH2.php');
?>

真的,我只是建议反对挑选您认为需要的文件。只需将整个 phpseclib zip 文件转储到 phpseclib 文件中即可。