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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Баннеры

Сообщения:  [1-8] 

 
 автор: Panker   (25.03.2006 в 13:06)   письмо автору
 
   для: technic611   (25.03.2006 в 10:09)
 

Помойму точна такаежа статья что я нашел но что то изменено! обезательно посмотрю как с работы приду :) Спасибо )

   
 
 автор: technic611   (25.03.2006 в 10:09)   письмо автору
 
   для: Panker   (25.03.2006 в 05:27)
 

Прочитай и все поймешь

Для начала давайте создадим тестовый файл. Назовем его banner.txt . В нем будут храниться данные такого вида:

URL1|IMG1|NAME1|WH1|SHOW1|CL1
URL2|IMG2|NAME2|WH2|SHOW2|CL2

Эти строки означают следующее:

URL - ссылка, на которую будет переходить пользователь по нажатию на изображение баннера;
IMG - адрес файла изображения, которое будет выводиться на экран;
NAME – альтернативный текст изображения (в тэге <IMG> параметр ALT);
WH - строка вида WIDTH=XX HEIGHT=XX (ширина и высота изображения). Если все изображения одного размера, соответственно можно упростить скрипт, но пока что лучше оставим так, ведь набрать лишнюю пару слов легче, чем потом переделывать весь скрипт.
SHOW - показы баннера. Поскольку баннеры еще нигде не демонстрировались, то изначально пишем - 0;
CL – количество нажатий на данный баннер, пишем тоже - 0;

Теперь создадим два PHP-файла. Один из них (show.php) будет отвечать за показ баннеров, другой (click.php) будет подсчитывать количество кликов по баннеру.

Пишем show.php. Откройте любимый текстовый редактор и наберите следующий текст.

Сначала загружаем файл, в котором хранится описание баннеров:


<?PHP
$array_bann 
file ('banner.txt');


Потом выбираем случайную запись из считанного файла, разделяем ее на элементы по признаку "|" с помощью функции explode() и заносим их в массив $data_bann.


srand((double)microtime()*1000000);
$pos = rand(0,sizeof($array_bann)-1);
$data_bann=explode ("|", $array_bann[$pos]);


Далее выводим на экран сам баннер на основе данных из массива $data_bann.


echo "<a href=click.php?banner=$pos target=_blank><IMG SRC='$data_bann[1]' ALT='$data_bann[2]' $data_bann[3] border=0></a>";



Увеличиваем счетчик показов баннера на единицу.


$data_bann[4]++;


Склеиваем измененную запись и записываем весь массив в файл.


$array_bann[$pos]=join('|',$data_bann);
$fp= fopen ('database.txt',"w");
flock($fp,3);
fwrite ($fp, join('',$array_bann));
fclose ($fp);
?>



Теперь пишем файл click.php.

Открываем файл с исходными данными.


<?PHP
$array_bann 
file ('banner.txt');



В переменной $banner у нас находится уже переданный из html-файла номер баннера, по которому кликнули. Берем запись, соответствующую этому номеру, опять разделяем ее по признаку "|" при помощи той же функции explode() и заносим это в массив $data_bann.


$data_bann=explode ("|", $array_bann[$banner]);



Увеличиваем счетчик показов на единицу, склеиваем запись обратно в $array_bann.


$data_bann[5]=$data_bann[5]+1;
$array_bann[$banner]=join('|',$data_bann)."\n";



И записываем измененный массив в файл database.txt.


$fp= fopen ('database.txt',"w");
flock($fp,3);
fwrite ($fp, join('',$array_bann));
fclose ($fp);



Пересылаем пользователя по адресу, хранящемуся в переменной $data_bann[0].


header("Location: http://$data_bann[0]");


?>

   
 
 автор: Panker   (25.03.2006 в 05:27)   письмо автору
 
   для: cheops   (24.03.2006 в 20:07)
 

БЛИН! (((((((
куда и что как сувать тут! я или суну 2 тех же или суну ваще нечего :(

   
 
 автор: cheops   (24.03.2006 в 20:07)   письмо автору
 
   для: Panker   (24.03.2006 в 15:28)
 

У вас сейчас генерируется позиция баннера в массиве при помощи кода
<?php
$pos 
rand(0,sizeof($array_bann)-1)
?>

Уничтожте в массиве уже показанный баннер
<?php
 
unset($array_bann[$pos]);
?>

И можете генерировать вторую позицию при помощи точно такого же кода
<?php
$pos 
rand(0,sizeof($array_bann)-1)
?>

Показанный баннер уже не попадётся, так как мы убрали элемент при помощи функции unset().

   
 
 автор: Panker   (24.03.2006 в 15:28)   письмо автору
 
   для: cheops   (23.03.2006 в 14:58)
 

недопонел!
прост оне так обьяснил или я не опнел!
мне надо этим скриптов выводить не 1
a href=banner_click.php?banner=$pos target=_blank><IMG SRC='$data_bann[1]' ALT='$data_bann[2]' $data_bann[3] border=0></a>"
а два
a href=banner_click.php?banner=$pos target=_blank><IMG SRC='$data_bann[1]' ALT='$data_bann[2]' $data_bann[3] border=0></a>"
a href=banner_click.php?banner=$pos target=_blank><IMG SRC='$data_bann[1]' ALT='$data_bann[2]' $data_bann[3] border=0></a>"
разом и что бы они всегда были разные :( а вот как хз (

   
 
 автор: cheops   (23.03.2006 в 14:58)   письмо автору
 
   для: Panker   (23.03.2006 в 01:17)
 

При повторном показе баннера, следует исключить из массива $array_bann уже показанный баннер при помощи функции unset()
<?php
  
unset($array_bann[$pos]);
?>

   
 
 автор: Panker   (23.03.2006 в 08:24)   письмо автору
 
   для: Panker   (23.03.2006 в 01:17)
 

Плиз ткоа про это не забудте :)

   
 
 автор: Panker   (23.03.2006 в 01:17)   письмо автору
 
 

Есть скрипт показов банера! он показывает 1 банер в случайном порядке!! Я хотел бы поставить 2 банера и что бы они не повторялись но что то не магу сообразить как и что!
вот код вывода

<?
Error_Reporting
(E_ALL & ~E_NOTICE);
$array_bann file ('database.txt');
srand((double)microtime()*1000000);
$pos rand(0,sizeof($array_bann)-1);
$data_bann=explode ("|"$array_bann[$pos]);
if(
on==$Vision)
{
echo 
"
<table cellpadding=0 cellspacing=0 width=107 height=38>
    <tr>
        <td width=107 height=27><a href=banner_click.php?banner=
$pos target=_blank><IMG SRC='$data_bann[1]' ALT='$data_bann[2]$data_bann[3] border=0></a></td>
    </tr>
    <tr>
        <td width=107 height=11><font size=2><center>Показов 
$data_bann[4]</center></font></td>
    </tr>
</table>
"
;}
else
{
echo 
"<a href=banner_click.php?banner=$pos target=_blank><IMG SRC='$data_bann[1]' ALT='$data_bann[2]$data_bann[3] border=0></a>";
};
$data_bann[4]++;
$array_bann[$pos]=join('|',$data_bann);
$fpfopen ('database.txt',"w");
flock($fp,3);
fwrite ($fpjoin('',$array_bann));
fclose ($fp);
?>


он так же считает переходы и клики :)

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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