Привет всем, кто читает эту тему, можно ли сделать , чтобы скрипт выводил все картинки подряд, которые содержаться, ку примеру, в папке images ? Если можно, то пожалуйста расскажите, буду очень благодарен.
Жду ответов.
<?php
$value = 6; // задание количества изображений в строке
$handle =opendir( ".");
while ( $file = readdir ($handle) ) //юзаем директорию с картинками
{
@$temp = GetImageSize ($file); // Считывание параметров изображения
if ( preg_match('/\.jpg$/i',$file)) {
echo "<a href=$file' ><img src='$file' width=150 height=80 border=0></a> ";
$counter ++; // счетчик проверки изображений в ряд
if($counter == $value)
{
echo "<br>";
$counter = 0;
}
}
}
?>
Цитата (inpost @ 16.11.2011 - 22:43) |
planetary glob - по маске, там указываешь допустимые расширения и путь к папке ![]() |
foreach(glob('images/*') as $image)
{
echo '<li ><img src="'.$image.'" width="130" alt=""></li>';
}
Цитата (planetary @ 17.11.2011 - 18:47) |
Спасибо, а как сделать, чтобы скрипт начинал показывать не с первого ихображения? а например с 5го. |
foreach(glob('images/*') as $k => $image)
{
if($k > 3)
echo '<li ><img src="'.$image.'" width="130" alt=""></li>';
}
<?php
function get_images($directory)
{
$filenames = array();
$directory = str_replace('\\', '/', $directory);
if(is_dir($directory))
{
$dp = opendir($directory);
while($filename = readdir($dp))
{
if(!is_dir($directory.'/'.$filename))
{
$file_ext = strtolower(substr($directory.'/'.$filename, strrpos($directory.'/'.$filename, '.')+1));
if(in_array($file_ext, array('jpg', 'gif', 'png')))
{
$filenames[count($filenames)] = $filename;
}
}
}
}
$dp = closedir();
return $filenames;
}
$path = '/images/'; // тут указываешь папку относительно корня веб дерева
$img_count = 9; // тут указываешь число картинок которое нужно выводить
$images = get_images($_SERVER["DOCUMENT_ROOT"].$path);
$i = 0;
while($images[$i])
{
$npic = rand(0, count($images)-1);
echo '<img src="'.htmlspecialchars($path.$images[$npic]).'" border="0" alt="">';
unset($images[$npic]);
$images = array_values($images);
$i++;
if($i>=$img_count) break;
}
?>