” Здравеййй
lotsofsex можеш ли да дадеш пример че аз до никъде не стигнах..... „
Здравей,
Преди всичко обърни внимание на мнението на
insecteater. Повярвай, не те е излъгал.
А ето и примера, който искаш:
два файла в една директория: index.html и frame.php както и няколко снимки в същата директория: 1.jpg, 2jpg и 3.jpg.
Разбира се, може да поставяш и организираш всичко както си искаш, само съблюдавай и пътя в кода да е правилен.
И така index.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>slideshow</title>
</head>
<body>
<p>Някакъв твой код</p>
<iframe src="frame.php" width="330" height="250" scrolling="no" frameborder="0"></iframe>
<p>Тука още и още код...</p>
</body>
</html> |
Нищо особено тука, ако искаш може да е и index.php вместо html, никакви грижи. В него сме поставили
<iframe src="frame.php" width="330" height="250" scrolling="no" frameborder="0"></iframe> |
Самия frame.php:
<?php
error_reporting(E_ALL ^E_NOTICE);
$picNumber = ((int) $_GET['id']) ? ((int) $_GET['id'] + 1) : '1';
$pic = array(1 => '1.jpg', '2.jpg', '3.jpg');
if ($picNumber > sizeof($pic))
$picNumber = 1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="5;URL='frame.php?id=<?php echo $picNumber; ?>&noparam=<?php echo time(); ?>'" />
</head>
<body>
<img src="<?php echo $pic[$picNumber]; ?>" align="top" border="0" width="320" height="240" />
</body>
</html> |
Не е кой знае какво. В meta тага казваме да се рефрешва на 5 секунди като подаваме и параметър id. Това id съдържа номера на снимката, която показваме в момента. Номер понеже снимките са ни заредени с масив, като сме прескочили елемент нула от него.
$pic = array(1 => '1.jpg', '2.jpg', '3.jpg'); |
Може да си добавяш, колкото си искаш снимки и не е задължително да са именовани с цифри, и да са винаги jpg формат.
И така индекса се зарежда вика frame.php. Там веднага проверяваме дали имаме id(номер на елемента от масива с картинките) и ако имаме, го увеличаваме с едно. Ако нямаме, значи или за сефте се зарежда страницата или някой се опитва да прави глупости и му даваме стойност единица. Тая стойност я присвояваме на $picNumber
$picNumber = ((int) $_GET['id']) ? ((int) $_GET['id'] + 1) : '1'; |
След което си инициализираме масива с картинките, както казахме - първия му елемент ще е единица array (1 => '..... След това правим една проверка дали сумата от номера на елемента, който сме получили чрез id и сме увеличили с единица е по- голям от елементите на масива. Ако е значи потребителя няма да види никаква снимка, а ще види онея грозни очертания за поява на снимка, която я няма. За да избегнем това задаваме на $picNumber отново единица. Тоест, върнахме се отначало на слайда.
if ($picNumber > sizeof($pic))
$picNumber = 1; |
Инициализирали сме всичко. Казваме през 5 секунди да се презарежда тая страница, в нашия случай се презарежда само frame.php, който пък е тикнат в iframe. Значи презарежда се само някаква част от страницата ни(index.html). Подаваме и номера на елемента от масива, който се визуализира като картинка по- нататъка:
<img src="<?php echo $pic[$picNumber]; ?>" align="top" border="0" width="320" height="240" /> |
Сега, има едно малко разминаване във width и height на картинката и iframe, като iframe е с 10 пиксела повече. Но това е за да не те занимавам и с CSS, който да махне едни излишни пиксели заемани при визуализацията на img.
Поздрави.