-
Try this (not very well-tested) code.
PHP Code:
function GetImages($dir, $basedir = null, array $extensions, $recursive = true)
{
$dir = rtrim($dir, '/') . '/';
$images = array();
if (is_dir($dir) && ($dh = @opendir($dir)))
{
while (($file = readdir($dh)) !== false)
{
if ($file == '.' || $file == '..')
continue;
if ($recursive)
{
if (is_dir($dir . $file))
{
$nf = GetImages($dir . $file, $basedir, $extensions, $recursive);
if (count($nf))
$images = array_merge($images, $nf);
}
else
{
if (($pos = strrpos($file, '.')) !== false)
{
$ext = substr($file, $pos+1);
if (in_array($ext, $extensions))
{
if ($basedir !== null)
$images[] = str_replace($basedir, '', $dir . $file);
else
$images[] = $dir . $file;
}
}
}
}
else
{
if (($pos = strrpos($file, '.')) !== false)
{
$ext = substr($file, $pos + 1);
if (in_array($ext, $extensions))
{
if ($basedir !== null)
$images[] = str_replace($basedir, '', $dir . $file);
else
$images[] = $dir . $file;
}
}
}
}
closedir($dh);
}
return $images;
}
$basedir = dirname(__FILE__);
$dir = $basedir . '/wp-content/uploads';
$extensions = array('jpg', 'png', 'gif');
$images = GetImages($dir, $basedir, $extensions);
foreach($images as $img)
echo '<img src="' . $img . '" /><br />';