Гость_Дарья
30.06.2009 - 16:15
Уважаемые, посетители форума, есть маленькая проблема - а моём сайте размещены фотографии их в директории image 32 штуки, но почему-то выводятся только 16 из них, и на странице 1 и на странице 2 только первые 16 фото, может поможете правильно написать скрипт? У меня он выглядит вот так:
PHP |
extract($HTTP_GET_VARS); extract($HTTP_POST_VARS);
if (!isset($p)) { $p = 1; }
$a = 0; $pg = $_GET[pg]; if(!$pg){$pg=1;} $dir = 'images'; $open = opendir($dir); while(($check = readdir($open))!=false){ $files[] = $check; } for($i = 2; $i < count($files); $i++){ if (substr_count($files[$i], ".jpg") == 1 or substr_count($files[$i], ".JPG") == 1) { //echo $files[$i]."\n"; $img = ImageCreateFromJpeg("images/".$files[$i]); //echo $url; $width = imagesx($img); $height = imagesy($img); $width = $width+20; $height = $height+20; $result[$a] = ("<div style='background-color: #2F1900; vertical-align:middle; text-align:center; cursor:pointer; width:70px; height:70px; border:2px solid #2F1900; float:left; margin:2px; padding:5px;' onClick=\"window.open('images/".$files[$i]."','','scrollbars=no,resizable=1,width={$width},height={$height}')\"><center><img src=\"img.php?size=63&img=images/".$files[$i]."\" style='border:1px solid #2F1900;'/></center></div>\n"); $a++; } } $skoka = count($result) - 1;
foreach ($result as $ind => $value) { if ($ind <= $skoka && $ind >= $p*16-16 && $ind <= $p*16-1){ echo $value; } }
echo " "; // ïîñòàðíè÷íî
$skoka = ceil(($skoka+1)/16);
$pages = 0; if ($skoka > 1) { echo ('<b>Ñòðàíèöû: </b>');
while ($pages++ < $skoka) { if ($pages == $pg) { echo '<b><font color=yellow>'. $pages .'</font></b> '; } else { echo '<a href="'. $PHP_SELF .'?mod=image&pg='. "{$pages}" .'">'. $pages .'</a> '; } } } |
просьба пользоваться тэгами форматирования кода
Спустя 19 минут, 25 секунд (30.06.2009 - 15:34) Гость_Дарья написал(а):
Извините, учту на будущее
Спустя 8 часов, 4 минуты, 7 секунд (30.06.2009 - 23:38) jetistyum написал(а):
Oh, Jesus ..... таки кто Вас так учил писать код?
Шпрехен зи индишь?
это же ужасно...
разве нельзя узнать размер изображения не используя ImageCreateFromJpeg?
зачем импортировать GET POST переменные, а потом в коде снова использовать $_GET
зачем в одном цикле считывать директорию в массив, а во втором разворачивать его
count использовать в цикле это тоже очень не по-умному...
и считать элементы массива начиная со 2-го... а первые две совсем не нужны???
а проверять паттерн с помощью substr_count ну блин, сложно было в том же мануале прочитать про другие функции работы со строками substr, strpos и это еще не все... но пока подумай как исправить это
и подумай зачем ты почти каждую задачу выполняешь дважды.
и зачем изначально забивать массив изображений, из которого ты будешь показывать только часть....
мне кошмары теперь сниться будут....