wp_upload_bits() — загружает на сайт файлы, заданные в виде строки

Функция загружает файл с указанным содержимым в папку с загрузками. После завершения возвращает массив с информацией об этом файле.

Проводит все необходимые проверки на безопасность (тип файла, размер и т.д.).

wp_upload_bits( $name, $deprecated, $bits, $time = null )
$name
(строка) название файла, обязательно должно быть вместе с расширением
$deprecated
(null) параметр не используется, тем не менее всегда должен устанавливаться со значением null
$bit
(строка) содержимое файла в виде строки, это достигается php-функцией file_get_contents()
$time
(строка) время в формате ГГГГ/ММ, нужно только в том случае, если в настройках стоит галка «Помещать загруженные мной файлы в папки по месяцу и году».
В этом случае вы сами можете определить папку с месяцем, в которую следует поместить файл, по умолчанию — текущий месяц.

Пример 1

Возьмем к примеру URL какой-нибудь левой картинки из интернета, например пусть будет изображение из предыдущего поста https://misha.agency/images/2013/03/diff-table.png

$upload = wp_upload_bits( 'table.png', null, file_get_contents('https://misha.agency/images/2013/03/diff-table.png'));

Это может быть абсолютно любая картинка с любого сайта, если только у них картинки не закрыты через .htaccess.

Массив $upload будет выглядеть следующие образом:

print_r( $upload );
/*
Array ( 
[file] => /home/user/truemisha/public_html/wp-content/2013/03/table.png 
[url] => https://misha.agency/wp-content/uploads/2013/03/table.png 
[error] => 
)
*/

Теперь например можно вывести саму картинку:

<img src="<?php echo $upload['url'] ?>" />

Пример 2. Использование с формой

Предположим, пользователь загружает на сайт фото для своего профиля через форму. Результат также можно обработать через wp_upload_bits().

$upload = wp_upload_bits($_FILES["profile_photo"]["name"], null, file_get_contents($_FILES["profile_photo"]["tmp_name"]));

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 1

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал