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

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

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

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

Пример 1

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

$upload = wp_upload_bits( 'table.png', null, file_get_contents('https://truemisha.ru/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://truemisha.ru/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"]));

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

  • Евгений15 июля 2013 в 14:07 #

    Коллеги а вы пробовали сие исполнение вообще "$upload = wp_upload_bits($_FILES["profile_photo"]["name"], null, file_get_contents($_FILES["profile_photo"]["tmp_name"]))"?

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
  • Миша: Привет ещё раз, не поверишь, реально не сталкивался с этим вопросом. По теории можно сказать следующее: во-первых,...

  • Миша: Привет, вообще без проблем, делаешь всё через require(), require_once() - выбирай любую, какая больше нравится.

  • Виталий Моргунов: Привет! Не могу разобаться, как я могу контролировать порядок подключения стилей. В моем случае мне нужно чтобы стили...

  • Миша: Спасибо!

  • w0rmak: Это было просто. Нашел код в интернете. Добавьте и себе ymaps.load(function () { var input = document.getElem...