PHP, FTP, загрузка файлов - PullRequest
0 голосов
/ 16 июня 2020

У меня есть form на моей странице, которая позволяет мне добавлять новые статьи. Есть два поля для загрузки фотографий (эскиз и основная фотография), к сожалению, у меня проблема с загрузкой фотографий на FTP.

Я получаю сообщение об ошибке: ftp_put (): Это частная система - без анонимного входа в систему [файл]

$thumbnail_img = $_FILES['a_thumbnail']['name'];
$temp_name1 = $_FILES['a_thumbnail']['tmp_name'];

$thumbnail_img = $_FILES['a_image']['name'];
$temp_name2 = $_FILES['a_image']['tmp_name'];

move_uploaded_file($temp_name1,"a_thumbnails/$thumbnail_img");
move_uploaded_file($temp_name2,"a_images/$thumbnail_img");


$destination_file1 = "/www/a_thumbnails/";
$destination_file2 = "/www/a_images/";


// set up basic connection
$conn_id = ftp_connect($ftgt_ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftgt_user_name, $ftgt_user_pass);

ftp_pasv($conn_id, true);

// upload the file
$upload1 = ftp_put($conn_id, $destination_file1, $temp_name1, FTP_BINARY);
$upload2 = ftp_put($conn_id, $destination_file2, $temp_name2, FTP_BINARY);

ftp_close($conn_id);

форма:

<form method="post" class="form-horizontal" enctype="multipart/form-data" action="upload.php">
    <div class = row>
        <div class="col-6">
            <div class="form-group" style="padding-left: 50px; text-align: left">
                <label>Thumbnail</label>
                <input name="a_thumbnail" type="file" class="form-control" style="margin-left: -25px;!important; border: none" required>
            </div>
        </div>
        <div class="col-6">
            <div class="form-group" style="padding-left: 50px; text-align: left">
                <label>Photo</label>
                <input name="a_image" type="file" class="form-control" style="margin-left: -25px;!important; border: none"  required>
            </div>
        </div>
    </div>
    <div class="col-12">
        <div class="form-group">
            <input name="submit" value="SAVE" type="submit" style="width: 95%;"  class="btn btn-primary form-control">
        </div>
    </div>
</form>

1 Ответ

1 голос
/ 16 июня 2020

В сообщении указано, что ваш FTP-сервер требует входа в систему. Таким образом, вы должны иметь правильное ftp_login () в соединении, прежде чем помещать туда файлы. И ваша информация для входа, вероятно, неверна.

Попробуйте проверить результат входа в систему, прежде чем продолжить загрузку. Как это:


$thumbnail_img = $_FILES['a_thumbnail']['name'];
$temp_name1 = $_FILES['a_thumbnail']['tmp_name'];

$thumbnail_img = $_FILES['a_image']['name'];
$temp_name2 = $_FILES['a_image']['tmp_name'];

move_uploaded_file($temp_name1,"a_thumbnails/$thumbnail_img");
move_uploaded_file($temp_name2,"a_images/$thumbnail_img");


$destination_file1 = "/www/a_thumbnails/";
$destination_file2 = "/www/a_images/";


// set up basic connection
$conn_id = ftp_connect($ftgt_ftp_server);

// login with username and password
if (!ftp_login($conn_id, $ftgt_user_name, $ftgt_user_pass)) {
    // You'd probably want better error handling here
    exit('FTP Login Failed');
}

ftp_pasv($conn_id, true);

// upload the file
$upload1 = ftp_put($conn_id, $destination_file1, $temp_name1, FTP_BINARY);
$upload2 = ftp_put($conn_id, $destination_file2, $temp_name2, FTP_BINARY);

ftp_close($conn_id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...