Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: опять про баннеры
 
 автор: Nextia   (19.07.2010 в 04:07)   письмо автору
 
 

имеется директория с баннерами в формате gif.
название файла совпадает с адресом страницы на которую этот баннер ведет.
т.е banner.ru.gif
Необходимо выдергивать случайный баннер из директории и навешивать на неё ссылку типа "<a href="$_address_banner"><imc src= "$banner_rand">а вам сюда </a>"

  Ответить  
 
 автор: ols   (19.07.2010 в 07:00)   письмо автору
 
   для: Nextia   (19.07.2010 в 04:07)
 

glob()
rand()

p.s. Если названия файлов хранится в SQL, лучше прибегнуть к SQL-функциям

  Ответить  
 
 автор: Nextia   (19.07.2010 в 07:51)   письмо автору
 
   для: ols   (19.07.2010 в 07:00)
 

SQL отсутствует как класс

  Ответить  
 
 автор: Nextia   (19.07.2010 в 10:30)   письмо автору
 
   для: Nextia   (19.07.2010 в 07:51)
 

Написала так:
<?php
$array_banners
=glob('banner');
//массив файлов считан
 
$file_names=implode('.gif',$array_banners);
 
//свернут в строку
 
$way_nameereg_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>');
?>

но ошиблась и ссылка картинкой не выдается, помогите ошибку найти

  Ответить  
 
 автор: ols   (19.07.2010 в 10:52)   письмо автору
 
   для: Nextia   (19.07.2010 в 10:30)
 

<?php
foreach (glob("*.gif") as $filename) {
     
$arr_banner[] = $filename;
}

$rand_file array_rand($arr_banner);

// ......
?>



upd. Здесь совсем необязательно делать обход массива, можно напрямую, это я для наглядности привел

  Ответить  
 
 автор: Nextia   (20.07.2010 в 05:02)   письмо автору
 
   для: 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>');
?>

  Ответить  
 
 автор: sim5   (20.07.2010 в 05:37)   письмо автору
 
   для: 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>'
?>

  Ответить  
 
 автор: Nextia   (20.07.2010 в 07:39)   письмо автору
 
   для: sim5   (20.07.2010 в 05:37)
 

Про basename не знала сеньк почитаю

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования