web-dev-qa-db-fra.com

wp_upload_dir comment obtenir uniquement le nom du répertoire.

J'imagine que cela serait un jeu d'enfant pour certains - mais j'ai du mal à obtenir simplement le nom du répertoire de téléchargement - pas le chemin complet - je suis si loin que ça:

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

quelqu'un a des idées? Merci d'avoir partagé votre expérience. . .

17
orionrush

Voici ce que vous obtenez de la fonction:

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

Ainsi, vous pouvez obtenir (comme @OneTrickPony l’a souligné), nom du dossier/répertoire avec

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

Si vous utilisez plusieurs sites et que vous avez défini la constante UPLOADS, vous y accédez à partir de UPLOADS ou BLOGUPLOADDIR.

MODIFIER

Pour les multisites, vous obtiendrez quelque chose comme ceci:

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

Où le "2" après sites est l'identifiant du blog

25
kaiser