wp_upload_dir jak uzyskać tylko nazwę katalogu.

18

Wyobrażam sobie, że dla niektórych byłoby to proste - ale mam trudności z uzyskaniem tylko nazwy katalogu przesyłania - nie pełnej ścieżki - doszedłem tak daleko:

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

ktoś ma jakieś pomysły? dziękuję za podzielenie się swoimi doświadczeniami. . .

orionrush
źródło
5
basename($uploads['baseurl'])?
onetrickpony

Odpowiedzi:

26

Oto, co otrzymujesz z funkcji:

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] => 
)

Możesz więc uzyskać (jak wskazał @OneTrickPony) nazwę folderu / katalogu za pomocą

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

Jeśli korzystasz z wielu witryn i zdefiniowałeś stałą UPLOADS, uzyskujesz do niej dostęp z UPLOADSlub BLOGUPLOADDIR.

EDYTOWAĆ

W przypadku wielu witryn otrzymasz coś takiego:

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] => ,
)

Gdzie „2” po sitesto identyfikator bloga

kajzer
źródło
2
- dzięki wam obojgu tam. basename i po kilku badaniach wp_basename też bym się spodziewał.
orionrush
wp_basename to „i18n przyjazna wersja basename ()” codex.wordpress.org/Function_Reference/wp_basename
Chaoley