Wp_handle_upload() — Обрабатывает загрузку файла через `$_FILES`. Очищает название файла, проверяет расширение файла (на основе mime типа) и сохраняет файл в соответствующий каталог `wp-content/uploads/…`. Функция WordPress.

Опубликовано: 11.10.2017

видео wp_handle_upload() — Обрабатывает загрузку файла через `$_FILES`. Очищает название файла, проверяет расширение файла (на основе mime типа) и сохраняет файл в соответствующий каталог `wp-content/uploads/…`. Функция WordPress.

Create a Custom Image Uploader in WordPress - Part One

Обрабатывает загрузку файла через $_FILES. Очищает название файла, проверяет расширение файла (на основе mime типа) и сохраняет файл в соответствующий каталог wp-content/uploads/....


WordPress Custom File Upload

media_handle_upload() работает напрямую с суперглобальным массивом $_FILES, это не всегда удобно. Иногда удобнее указать данные файла в массиве и обработать их, для этого используйте media_handle_sideload() .

Работает на основе PHP функции  move_uploaded_file() .

Хуков нет.

Возвращает

Массив/любое значение.

При успешной загрузке возвращает ассоциативный массив данных, такого формата:

Array ( [file] => sites/wptest.ru/www/wp-content/uploads/2014/06/Daft-Punk-Something-About-Us.mp3 [url] => http://wptest.ru/wp-content/uploads/2014/06/Daft-Punk-Something-About-Us.mp3 [type] => audio/mpeg )

type и file можно использовать в функции wp_insert_attachment() .

При неудаче, возвращает:

$overrides['upload_error_handler']( &$file, $file['error'] ) - когда указан параметр upload_error_handler, в котором указывается название функции обрабатывающей неудачную загрузку. Функция получит 2 параметра &$file и $file['error'] array( 'error'=>$message ) - по умолчанию, когда не указана функция обработки ошибки.

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

$movefile = wp_handle_upload( $file, $overrides, $time ); $file(массив) (обязательный) Элемент массива $_FILES, который содержит массив данных о принятом файле (название, тип, размер, временное расположение). Функцию нужно вызывать при загрузке каждого файла. Параметр передается по ссылке (&$file), поэтому нужно передавать переменную. $overrides(массив)

Ассоциативный массив, чтобы перезаписать дефолтные переменные используемые в функции (переменные извлекаются так: extract( $overrides, EXTR_OVERWRITE )).

Чтобы произошла реальная загрузка файла обязательно нужно указать параметр 'test_form' => FALSE, в противном случае это будет просто тестирование работы формы.

rss