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

ftp_mkdir()

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

Функция ftp_mkdir() — это встроенная функция PHP, которая создает новую директорию на FTP-сервере. Функция принимает два параметра:

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

Функция возвращает true, если директория была создана успешно. В противном случае она возвращает false. Обратите внимание, что ftp_mkdir() не может создавать вложенные директории; промежуточные пути необходимо создавать вручную.

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

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

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

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

Примечание: Указанная типизированная сигнатура требует PHP 8.0+. Функция доступна начиная с PHP 4.3.0.

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

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

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

php
<?php

// Set up an FTP connection
$conn = ftp_connect('ftp.example.com');

// Login with your FTP credentials
ftp_login($conn, 'username', 'password');

// Create a new directory
if (ftp_mkdir($conn, '/path/to/new/directory')) {
    echo "Directory created successfully.\n";
} else {
    echo "Failed to create directory.\n";
}

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

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

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

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

Вот пример обработки ошибок и настройки надежных параметров FTP:

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

php
<?php
if (ftp_mkdir($conn, '/path/to/new/directory')) {
    echo "Directory created successfully.\n";
} else {
    echo "Failed to create directory.\n";
    // Note: PHP's FTP extension does not expose the last server response directly.
    // Verify connection status, permissions, and path validity.
}
?>

Для надежной работы с FTP рекомендуется установить тайм-аут и включить пассивный режим перед созданием директорий:

php
ftp_set_option($conn, FTP_TIMEOUT_SEC, 30);
ftp_set_option($conn, FTP_USEPASVADDRESS, true);

Заключение

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

Практика

В чем основная функция ftp_mkdir() в PHP?

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

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