Функция WP_UPLOAD_DIR() в WordPress: Описание, примеры, возвращаемое значение

Функция WP_UPLOAD_DIR() в WordPress

Функция wp_upload_dir() позволяет получить массив, содержащий путь к текущему каталогу загрузок и его URL.

Как работает функция

  1. Проверка настроек: Функция сначала проверяет значение параметра upload_path. Если он задан и не пуст, то будет использоваться именно он. Если пуст, то по умолчанию используется путь WP_CONTENT_DIR/uploads.

  2. Константа UPLOADS: Если определена константа UPLOADS, то она переопределит значение upload_path.

  3. Путь для URL: URL для загрузок определяется либо через параметр upload_url_path, либо с помощью константы WP_CONTENT_URL, к которой добавляется /uploads.

  4. Форматирование по времени: Если включена опция uploads_use_yearmonth_folders, загруженные файлы будут храниться в каталогах, разделенных по годам и месяцам.

  5. Обработка ошибок: Если создать каталог не удалось, функция вернет сообщение об ошибке с ключом 'error', указывающее на то, что родительский каталог не доступен для записи.

Использование функции

Функция вызывается следующим образом:

$upload_dir = wp_upload_dir( $time = null, $create_dir = true, $refresh_cache = false );
  • $time (string|null): Дата в формате 'yyyy/mm' (по умолчанию null).
  • $create_dir (true|false): Нужно ли проверять и создавать каталог загрузок (по умолчанию true).
  • $refresh_cache (true|false): Нужно ли обновлять кэш (по умолчанию false).

Примеры

Пример 1: Получение данных о каталоге загрузок

Вывод всех данных о загрузках:

$upload_dir = wp_upload_dir();
print_r( $upload_dir );

Результат будет таким:

Array
(
    [path] => /home/k/wp-example.com/public_html/wp-content/uploads/2014/02
    [url] => http://wp-example.com/wp-content/uploads/2014/02
    [subdir] => /2014/02
    [basedir] => /home/k/wp-example.com/public_html/wp-content/uploads
    [baseurl] => http://wp-example.com/wp-content/uploads
    [error] =>
)

Пример 2: Получение URL каталога загрузок

Чтобы получить URL каталога загрузок, используйте следующий код:

$upload_dir = wp_upload_dir();
echo $upload_dir['baseurl']; // вывод: http://wp-example.com/wp-content/uploads

Пример 3: Получение всех элементов в виде объекта

Для удобства можно преобразовать массив в объект:

$upload_dir = (object) wp_upload_dir();

if( !$upload_dir->error ){
    echo $upload_dir->path ."n";
    echo $upload_dir->url ."n";
    echo $upload_dir->subdir ."n";
    echo $upload_dir->basedir ."n";
    echo $upload_dir->baseurl ."n";
}

Результат будет аналогичным:

/home/wp-example.com/public_html/wp-content/uploads/2015/08
http://wp-example.com/wp-content/uploads/2015/08
/2015/08
/home/wp-example.com/wp-content/uploads
http://wp-example.com/wp-content/uploads

Возвращаемое значение

Функция возвращает массив с информацией о каталоге загрузок:

Array
(
    [path] => Путь к директории загрузок
    [url] => URL директории загрузок
    [subdir] => Подкаталог, если используется опция с разделением по годам и месяцам
    [basedir] => Базовый путь без подкаталога
    [baseurl] => Базовый URL без подкаталога
    [error] => Сообщение об ошибке, если оно есть
)

Изменения в функции

Функция wp_upload_dir() была представлена в версии 2.0.0 и с тех пор продолжает использоваться в WordPress.

Теперь вы знаете, как использовать функцию wp_upload_dir() для работы с загрузками в WordPress. Она поможет вам организовать ваши файлы и избежать ошибок в процессе загрузки.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *