|
|
|
| имеется директория с баннерами в формате gif.
название файла совпадает с адресом страницы на которую этот баннер ведет.
т.е banner.ru.gif
Необходимо выдергивать случайный баннер из директории и навешивать на неё ссылку типа "<a href="$_address_banner"><imc src= "$banner_rand">а вам сюда </a>" | |
|
|
|
|
|
|
|
для: Nextia
(19.07.2010 в 04:07)
| | glob()
rand()
p.s. Если названия файлов хранится в SQL, лучше прибегнуть к SQL-функциям | |
|
|
|
|
|
|
|
для: ols
(19.07.2010 в 07:00)
| | SQL отсутствует как класс | |
|
|
|
|
|
|
|
для: Nextia
(19.07.2010 в 07:51)
| | Написала так:
<?php
$array_banners=glob('banner');
//массив файлов считан
$file_names=implode('.gif',$array_banners);
//свернут в строку
$way_name= ereg_replace('gif','\n',$file_names);
//отрезаны гифы с точкой
$banners=explode ('\n',$way_name);
//опять массив уже без расширения гиф и точек
//надо выдрать произвольный элемент массива и запихать его в ссылку
$banner_rand=$banners[rand(0,count($banners)-1)];
print('<a href="http://');
print ($banner_rand);
print ('"><img src="');
print ($banner_rand.'.gif"/></a>');
?>
|
но ошиблась и ссылка картинкой не выдается, помогите ошибку найти | |
|
|
|
|
|
|
|
для: Nextia
(19.07.2010 в 10:30)
| |
<?php
foreach (glob("*.gif") as $filename) {
$arr_banner[] = $filename;
}
$rand_file = array_rand($arr_banner);
// ......
?>
|
upd. Здесь совсем необязательно делать обход массива, можно напрямую, это я для наглядности привел | |
|
|
|
|
|
|
|
для: ols
(19.07.2010 в 10:52)
| | Спасибо за наводку заработало в таком варианте:
<?php
$array_banners=glob('banner/*.gif');
srand (time());
$fly=($array_banners[array_rand($array_banners)]);
$way1=ereg_replace('banner/','',$fly);
$way2=ereg_replace('.gif','',$way1);
print('<a href="http://');
print($way2);
print ('"><img src="banner/');
print ($way2.'.gif"/></a>');
?>
|
| |
|
|
|
|
|
|
|
для: Nextia
(20.07.2010 в 05:02)
| | Ну уж если, то preg_replace, но зачем?
<?php
$array_banners=glob('banner/*.gif');
shuffle($array_banners);
echo '<a href="http://' . str_replace('.gif','',basename($array_banners[0])) .
'/"><img src="' . $array_banners[0] .'" /></a>';
?>
|
| |
|
|
|
|
|
|
|
для: sim5
(20.07.2010 в 05:37)
| | Про basename не знала сеньк почитаю | |
|
|
|