wp_upload_dir, как получить только имя каталога.

18

Я полагаю, что для некоторых это будет легким делом - но мне трудно получить только имя каталога загрузки, а не полный путь, - я дошел до этого:

$uploads = wp_upload_dir();
$upload_path = $uploads['baseurl']; // now how to get just the directory name?

У кого-нибудь есть идеи? Спасибо за обмен вашего опыта. , ,

orionrush
источник
5
basename($uploads['baseurl'])?
onetrickpony

Ответы:

26

Это то, что вы получаете от функции:

Array
(
    [path] => C:\development\xampp\htdocs\example.com/content/uploads/2012/04
    [url] => http://example.com/content/uploads/2012/04
    [subdir] => /2012/04
    [basedir] => C:\~\example.com/content/uploads
    [baseurl] => http://example.com/content/uploads
    [error] => 
)

Таким образом, вы можете получить (как указал @OneTrickPony) имя папки / каталога с помощью

echo wp_basename( $uploads['baseurl'] );

Если вы используете мультисайт, и вы определили константу UPLOADS, то вы получите к ней доступ из UPLOADSили BLOGUPLOADDIR.

РЕДАКТИРОВАТЬ

Для мультисайтов вы получите что-то вроде этого:

Array
(
    [path] => /var/www/example.com/public_html/wp-content/uploads/sites/2/2016/12,
    [url] => http://example.com/wp-content/uploads/sites/2/2016/12,
    [subdir] => /2016/12,
    [basedir] => /var/www/example.com/public_html/wp-content/uploads/sites/2,
    [baseurl] => http://example.com/wp-content/uploads/sites/2,
    [error] => ,
)

Где после 2 sitesстоит идентификатор блога

кайзер
источник
2
- Спасибо вам обоим. Базовое имя и после некоторого исследования wp_basename тоже я считаю.
orionrush
wp_basename - это «i18n-дружественная версия basename ()» codex.wordpress.org/Function_Reference/wp_basename
Чаули,