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

Форум PHP

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

 

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

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

тема: как считать загрузку изображения
 
 автор: CrazyAngel   (21.07.2006 в 23:43)   письмо автору
 
 

Ну как в баннерных системах?

   
 
 автор: cheops   (21.07.2006 в 23:51)   письмо автору
 
   для: CrazyAngel   (21.07.2006 в 23:43)
 

В этом случае изображение формируется при помощи скрипта, например, с использованием библиотеки GDLib, при каждом обращении к скрипту можно учитывать и смотреть с какого IP-адреса было обращение.

   
 
 автор: CrazyAngel   (21.07.2006 в 23:58)   письмо автору
 
   для: cheops   (21.07.2006 в 23:51)
 

А как смотреть IP кто смотрит страницу, и имя хоста

на самой странице должно быть?
<img src="http://bla.ru/banner.php" />

   
 
 автор: cheops   (22.07.2006 в 00:02)   письмо автору
 
   для: CrazyAngel   (21.07.2006 в 23:58)
 

Так как грузить картинку будет именно клиент - вам достанется его IP-адрес, а не сайта, где картинка расположена. Хост обычно задаётся в виде GET-параметра id, который передаётся картинке в качестве параметра.

   
 
 автор: Unkind™   (22.07.2006 в 00:04)   письмо автору
 
   для: CrazyAngel   (21.07.2006 в 23:58)
 

CrazyAngel, в WAP, как вы интересовались так невозможно сделать...Просто браузер запрашивает файл banner.php, там опеределяется IP и т.д. - это и есть загрузка. Если он просто наберет в браузере http://bla.ru/banner.php - тоже считается загрузка. Только так.

   
 
 автор: CrazyAngel   (22.07.2006 в 00:12)   письмо автору
 
   для: Unkind™   (22.07.2006 в 00:04)
 

Вобщем как это сделать, да еще ссылку правельную поставить?

   
 
 автор: Unkind™   (22.07.2006 в 00:18)   письмо автору
 
   для: CrazyAngel   (22.07.2006 в 00:12)
 

Могу привести часть кода из моего скрипта (banner.php):

<?php
error_reporting
(0);

include 
"configs/config.php";

if(isset(
$_GET['id']))
{
$id intval($_GET['id']);
}
else
{
$id 0;
}

$query = @mysql_query("SELECT * FROM 'banners_users' WHERE 'id' = '".$id."';");

if(@
mysql_num_rows($query) == 0)
{
header ("Content-type: ".image_type_to_mime_type(IMAGETYPE_GIF));
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-relative");

$error imagecreatefromgif("error.gif");
imagegif($error);

exit();
}
else
{
$data mysql_fetch_array($query);
$block $data['block'];
$status $data['status'];
$blaccount $data['blaccount'];
$show $data['show'];
$clicks $data['clicks'];

    if(
$show == 0)
    {
    
$ctr 0;
    }
    else
    {
    
$ctr $clicks/$show;
    
$ctr round($ctr3);
    }
}

$ip getenv('REMOTE_ADDR');
$ua getenv('HTTP_USER_AGENT');

mysql_query("UPDATE 'banners_users' SET 'show' = 'show' + 1 WHERE 'id' = '".$id."' LIMIT 1;");

if(
$blaccount == 1)
{
header ("Content-type: ".image_type_to_mime_type(IMAGETYPE_GIF));
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-relative");

$error imagecreatefromgif("block.gif");
imagegif($error);

exit();
}

$file "configs/day.dat";
$fopen fopen($file"r");
$day fread($fopenfilesize($file));
fclose($fopen);

if(
date("d") != $day)
{
$file "configs/day.dat";
$fopen fopen($file"w");
$day date("d");
fwrite($fopen$day);
fclose($fopen);

//Вырезано

//NEW DAY
$q mysql_query("SELECT * FROM 'banners_users';");
while(
$data mysql_fetch_array($q))
{
if(
$data['show'] == 0)
{
$ctr 0;
}
else
{
$ctr $data['clicks']/$data['show'];
$ctr round($ctr3);
}

@
mysql_query("UPDATE 'banners_users' SET 'clicks' = 0, 'show' = 0, 'yctr' = '".$ctr."', 'yclicks' = '".$data['clicks']."', 'yshow' = '".$data['show']."', 'aclicks' = 'aclicks' + '".$data['clicks']."', 'ashow' = 'ashow' + '".$data['show']."' WHERE 'id' = '".$data['id']."';");
}
//END
}

$query mysql_query("SELECT * FROM 'banners' WHERE 'id' != '".$id."' AND 'blaccount' = 0 AND 'status' = 1 AND 'block' = 0 AND 'credits' != 0 ORDER BY RAND() LIMIT 1;");
    if(
mysql_num_rows($query) == 0)
    {
    
header ("Content-type: ".image_type_to_mime_type(IMAGETYPE_GIF));
    
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
    
header("Cache-Control: no-cache, must-relative");
    
$error imagecreatefromgif("error.gif");
    
imagegif($error);
    exit();
    }

$banner = @mysql_fetch_array($query);
$bid $banner['bid'];
$uid $banner['id'];
$standart $banner['st'];
$mime_type $banner['type'];

$q mysql_query("UPDATE 'banners_users' SET 'bid' = '".$bid."' WHERE 'id' = '".$id."' LIMIT 1;");

header ("Content-type: ".$mime_type);
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-relative");

if(
$standart == 0)
{
    switch(
$mime_type)
    {
    case 
'image/gif':
    
$banner imagecreatefromgif("banners/".$bid."_".$uid.".gif");
    
imagegif($banner);
    break;
    
    case 
'image/png':
    
$banner imagecreatefrompng("banners/".$bid."_".$uid.".png");
    
imagepng($banner);
    break;

    case 
'image/vnd.wap.wbmp':
    
$banner imagecreatefromwbmp("banners/".$bid."_".$uid.".wbmp");
    
imagewbmp($banner);
    break;
    }
}
else
{
$banner imagecreatefromgif("stbanners/$standart.gif");
imagegif($banner);
}

//Защита от накрутки
//Вырезано
?>

P.S. Хм...Тут обратные кавычки пропадают...Они на ' заменены в SQL-запросах...

   
Rambler's Top100
вверх

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