function get_dir_structure($path, $recursive = TRUE, $ext = NULL)
{
$return = NULL;
if (!is_dir($path))
{
trigger_error('$path is not a directory!', E_USER_WARNING);
return FALSE;
}
if ($handle = opendir($path))
{
while (FALSE !== ($item = readdir($handle)))
{
if ($item != '.' && $item != '..')
{
if (is_dir($path . $item))
{
if ($recursive)
{
$return[$item] = get_dir_structure($path . $item . '/', $recursive, $ext);
}
else
{
$return[$item] = array();
}
}
else
{
if ($ext != null && strrpos($item, $ext) !== FALSE)
{
$return[] = $item;
}
}
}
}
closedir($handle);
}
return $return;
}
使用該函數來做到這一點:
ar count = {
table: <?php echo count(get_dir_structure("./graphics/table/", FALSE, '.jpg')) ?>,
people: <?php echo count(get_dir_structure("./graphics/people/", FALSE, '.jpg')) ?>,
places_details: <?php echo count(get_dir_structure("./graphics/places_details/", FALSE, '.jpg')) ?>,
story_1: <?php echo count(get_dir_structure("./graphics/story_1/", FALSE, '.jpg')) ?>,
story_2: <?php echo count(get_dir_structure("./graphics/story_2/", FALSE, '.jpg')) ?>,
story_3: <?php echo count(get_dir_structure("./graphics/story_3/", FALSE, '.jpg')) ?>
}
這很酷。我以前從來沒有聽說過這個功能,所以我在下面做了自己的風格秀,但我會認爲你的回答更加簡潔。所以+1先生。 – 2010-09-20 05:37:15
'<?php count(glob(「table/*。jpg」)); ?>'什麼都不返回。 '<?php echo count(glob(「table/*。jpg」)); ?>儘管目錄中有19個圖像,但返回0。我錯過了什麼? – 2010-09-20 05:38:31
您是否使用了正確的路徑,即與您的PHP腳本位於同一目錄中的'table'目錄?否則,你可以嘗試一個絕對路徑,比如'$ _SERVER ['DOCUMENT_ROOT']。 「/圖形/表/ *。jpg''。 – casablanca 2010-09-20 05:40:28