Ben kimin amacı benim wordpress tema görüntüleri dizin içindeki klasörleri listelemek için bir işlevi var. Kullanıcı sitenin kök dizininde wordpress yüklü zaman harika çalışıyor. Kullanıcı kök altındaki bir klasöre wordpress yüklü Ancak, başarısız ...
$ Mydir = get_dirs ($ _SERVER ['DOCUMENT_ROOT'] '/ wp-content/themes/mytheme/images'.);
Wordpress gibi site.com / index.php olarak sitenin kök, doğrudan yüklenir Bu fonksiyon sürece çalışıyor
Kullanıcı sanal dizin kendi blogu yüklü Ancak, bu yol yöntem başarısız olur. Örnek: site.com / somedirectory / index.php
Birisi $ mydir yolunu belirlenmesinde daha iyi bir yöntem ile yardımcı olabilir misiniz?
Ben http adresi ile benim fonksiyonunu beslemek olabilir eğer süper basit olurdu, ama benim işlevi, bir sunucu dizini olarak görüntüleri dizinin yolunu gerektirir. Herkes yerine http yöntemi kullanılarak verilen bir dizin altında klasörleri bulmak için bir yol biliyor musun? Örneğin, ben benim temanın images dizininin bir referans alabilirsiniz ...
. $ Mydir = get_bloginfo ('url') / wp-content/themes/mytheme/images ';
Ancak, aşağıdaki işlev, bir URL almayacağız, ben ayrıştırmak istiyorum seçilen dizine bir fiziksel dosya yolu olmalıdır. Yani ya bir URL alan bir fonksiyon ile değiştirmeniz gerekiyor ya da fiziksel bir yolu, ya da belki bazı başka yollarla $ mydir işlevi dönüştürmek için bir yol bulmalıyız.
İşte dizini ayrıştırma ve bir dizi her klasör atamak için kullanıyorum fonksiyonudur.
function get_dirs($path = '.')
{
$dirs = array();
try
{
foreach (new DirectoryIterator($path) as $file)
{
if ($file->isDir() && !$file->isDot())
{
$dirs[] = $file->getFilename();
}
}
}
catch(Exception $e)
{
//log exception or process silently
//just for test
echo "There is a problem inside the get_dirs function";
}
return $dirs;
}