STFP соединение и загруженная путаница - PullRequest
0 голосов
/ 28 октября 2018

Попытка соединить Filezilla и мой веб-сайт вместе через PHP и 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";
        }



    }

?>

1 Ответ

0 голосов
/ 30 октября 2018

Из вашего файла:

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

В zip-файле загрузите файл SSH2.php в каталоге Net /.Также есть каталог Crypt / и каталог Math /.Оба из них необходимы, и относительный путь также должен быть правильным.

Тот факт, что вы вынули SSH2.php из каталога Net /, заставляет меня думать, что у вас могут не быть других необходимых файлов.И даже если вы это сделаете, я скептически отношусь к тому, что они находятся в правильном относительном местоположении.

Кроме того, поскольку вы, похоже, используете ветку 1.0, вам может понадобиться установить include_path, чтобы заставить его работать должным образомВ зависимости от того, где вы разместите каталог:

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

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

Действительно, я бы просто рекомендовал против выбора и выбора файлов, которые вам нужны.Просто возьмите весь zp-файл phpseclib и поместите его в файл phpseclib.

...