Перейти к содержимому

ftp_rmdir()

Понимание функции PHP ftp_rmdir()

Функция ftp_rmdir() — это встроенная функция PHP, которая удаляет каталог на FTP-сервере. В этой статье мы подробно рассмотрим функцию и предоставим вам полное руководство по её использованию в ваших PHP-проектах.

Что такое ftp_rmdir()?

Функция ftp_rmdir() удаляет каталог на FTP-сервере. Она работает только с пустыми каталогами; если каталог содержит файлы или подкаталоги, функция завершится ошибкой. Для непустых каталогов необходимо сначала удалить их содержимое или реализовать процесс рекурсивного удаления. Функция принимает два параметра:

  1. ftp_stream: Идентификатор соединения, возвращаемый функцией ftp_connect().
  2. directory: Каталог для удаления.

Функция возвращает true при успехе и false при ошибке.

Синтаксис ftp_rmdir()

Синтаксис функции ftp_rmdir() выглядит следующим образом:

Синтаксис ftp_rmdir()

php
bool ftp_rmdir ( FTP\Connection $ftp_stream , string $directory )

Функция ftp_rmdir() принимает два обязательных параметра: ftp_stream и directory. Параметр ftp_stream — это объект соединения, возвращаемый функцией ftp_connect(). Обратите внимание, что в PHP 7.2 и более новых версиях это объект FTP\Connection, а не resource. Параметр directory — это имя удаляемого каталога.

Использование ftp_rmdir()

Чтобы использовать функцию ftp_rmdir(), сначала необходимо установить соединение с FTP-сервером с помощью функции ftp_connect(). Вот пример:

Использование ftp_rmdir()

php
<?php

// Set up an FTP connection
$conn = ftp_connect('ftp.example.com');
if (!$conn) {
    die("Could not connect to FTP server.");
}

// Login with your FTP credentials
if (!ftp_login($conn, 'username', 'password')) {
    die("Login failed.");
}

// Remove the directory
if (ftp_rmdir($conn, '/public_html/testdir')) {
    echo "Directory removed successfully.\n";
} else {
    echo "Directory removal failed. Ensure the directory is empty.\n";
}

// Close the FTP connection
ftp_close($conn);

В этом примере мы устанавливаем соединение с FTP-сервером с помощью функции ftp_connect() и проверяем его успешность. Затем мы выполняем вход с использованием учётных данных FTP через функцию ftp_login() и проверяем успех. Удаляем каталог с помощью функции ftp_rmdir() и выводим сообщение о результате операции. Наконец, мы закрываем FTP-соединение с помощью функции ftp_close().

Обработка ошибок в ftp_rmdir()

При использовании функции ftp_rmdir() важно правильно обрабатывать ошибки. Если функция возвращает false, это означает, что операция не удалась. Вот пример обработки ошибок:

Обработка ошибок в ftp_rmdir()

php
<?php

if (!ftp_rmdir($conn, '/public_html/testdir')) {
    echo "Failed to remove directory. Ensure it is empty and you have proper permissions.\n";
}

ftp_close($conn);

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

Заключение

Подводя итог, функция ftp_rmdir() — это полезный инструмент для удаления каталогов на FTP-сервере. При правильном использовании и обработке ошибок она может стать ценным помощником в ваших PHP-проектах.

Практика

Какова цель функции FTP_RMDIR в PHP?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.