Тематично свързан банер?

gunshot

Active Member
Имам един сайт с голям брой страници със текстово съдържание, но за съжаление без никакви картинки. Чувал съм от някъде, че г-н Г. много харесва картинки вътре в текстовете с хубави имена и подробни алт тагове с кийлърди. Тъй като аз не разполагам с такива картинки, а да си набавя би било много трудоемко се спрях на следната съмнителна идея:

Ще взема да сложа един рекламен банер /images/banner.jpg и ще го сложа на всички страници, той ще отваря избран от мен сант.

Но за да му хареса на Г. ще направя следната хватка:
1. mod rewrite /images/games/115/Call-of-Duty-World-at-War.jpg -> banner.php (на всяка страница банера ще има различно име и път и ще имитира картинка свързана със съдържанието)
2. banner.php ще пуска банера /images/banner.jpg, а може и някаква ротация в последствие да прави
3. банера ще има приятен алт таг от типа alt="Call of Duty, World at War", различен за всяка страница
4. банера ще се пъха някъде в текстово съдържание - между 2 параграфа ако има параграфи (обикновено има), ако не - след текста

Мислите ли, че ще има ефект и смъсъл от това упражнение? Някакви предложения и забележки относно идеята? С какво око гледат от Г на такъв тип оптимизация?
 
От: Тематично свързан банер?

да
а ако ще си играеш поиграй още малко
самата картинка на банера да не е една и съща
а да се рутира с още няколко и размерите да не са едни и същи
ако вкарваш между параграфи, сигурно ще е хоризонтален
може да буташ и квадратни примерно. Успех!
 
От: Тематично свързан банер?

Благодаря за отговорите, идеята на radev ще я използвам.

Започнах да пиша кода и за тези, които не знаят как става но решат да си направят нещо подобно ще пусна първоначалният работещ (и най-прост) код:

.htaccess
Код:
Options +FollowSymLinks
RewriteRule ^(images/games)(/.*)?$  banner.php

banner.php
Код:
<?php
  $BANNERS[0]['filename'] =   'images/banners/banner.jpg';

  //declare that this is an image
  header('Content-Type: image/jpeg');

  //read the image file and send the data
  $handle = fopen($BANNERS[0]['filename'], "rb");
  while (!feof($handle)) {
    echo fread($handle, 8192);
  }
  fclose($handle);

?>

Пояснение:
1. кода работи с банер images/banners/banner.jpg
2. кода показва банера при викане на адрес от типа http://example.com/images/games/Call-of-Duty-World-at-War.jpg

Като завърша идеята ще споделя какъв е бил резултата..
 
От: От: Тематично свързан банер?

Код:
Options +FollowSymLinks
RewriteRule ^(images/games)(/.*)?$  banner.php

banner.php
Код:
<?php
  $BANNERS[0]['filename'] =   'images/banners/banner.jpg';

  //declare that this is an image
  header('Content-Type: image/jpeg');

  //read the image file and send the data
  $handle = fopen($BANNERS[0]['filename'], "rb");
  while (!feof($handle)) {
    echo fread($handle, 8192);
  }
  fclose($handle);

?>

Бате, това не ти е мрежов socket или C/C++, че да четеш на порцийки и да проверяваш дали си стигнал края на файла. Ето какво можеш да ползваш за още по-лесно:

Код:
http://bg.php.net/manual/en/function.file-get-contents.php

А и в този скрипт нали идеята е да се показват различни банери:
1. Ти защо си сетнал само 0-я елемент в масива?
2. Защо масива е двумерен?!!!!!! :shock:
3. Някъде трябва да редуваш различните банери.

Не ми е много ясна идеята ти, но от този код ми се струва, че си начинаещ в уеб програмирането. В момента не ми се мисли над твоя проблем, но по принцип мога да те посъветвам, ако нещо не ти е ясно.
 
От: От: От: Тематично свързан банер?

Бате, това не ти е мрежов socket или C/C++, че да четеш на порцийки и да проверяваш дали си стигнал края на файла. Ето какво можеш да ползваш за още по-лесно:

Код:
http://bg.php.net/manual/en/function.file-get-contents.php

А и в този скрипт нали идеята е да се показват различни банери:
1. Ти защо си сетнал само 0-я елемент в масива?
2. Защо масива е двумерен?!!!!!! :shock:
3. Някъде трябва да редуваш различните банери.

Не ми е много ясна идеята ти, но от този код ми се струва, че си начинаещ в уеб програмирането. В момента не ми се мисли над твоя проблем, но по принцип мога да те посъветвам, ако нещо не ти е ясно.

относно функцията - знам я, но си предпочитам да си го пиша в C стил.. не виждам да има кой знае каква разлика. както съм го направил може с изходния буфер да се играе и като прочете нещо веднага да го прати към клиента.

дал съм най-простия възможен работещ варинат - затова е без ротация. във варианта, който приложих в сайта е със ротация.

и ето отговорите на 3те въпроса:
1. Ти защо си сетнал само 0-я елемент в масива?
2. Защо масива е двумерен?!!!!!! :shock:
Това е част от конфигурационния файл:
Код:
  $BANNERS[0]['filename'] =   'images/banners/..._468x60.jpg';
  $BANNERS[0]['url'] =        'http://...';
  
  $BANNERS[1]['filename'] =   'images/banners/..._325x220.jpg';
  $BANNERS[1]['url'] =        'http://...';
  
  $BANNERS[2]['filename'] =   'images/banners/..._240x200.jpg';
  $BANNERS[2]['url'] =        'http://...';

3. Някъде трябва да редуваш различните банери.
редувам ги, но не съм дал кода
 
От: Тематично свързан банер?

един file_exists() нямаше да е зле също, че ако някой премести снимката ще влезеш в неспираща рекурсия и ще препълниш харда на сървъра от error.log

прав си, рекурсия не мисля, че ще стане, но fclose ще гърми 100%, ще си го едитна
 
От: От: От: От: Тематично свързан банер?

относно функцията - знам я, но си предпочитам да си го пиша в C стил.. не виждам да има кой знае каква разлика. както съм го направил може с изходния буфер да се играе и като прочете нещо веднага да го прати към клиента.

дал съм най-простия възможен работещ варинат - затова е без ротация. във варианта, който приложих в сайта е със ротация.

А, ясно - мерси за уточнението :) Когато видях частичния код си помислих, че си начинаещ програмист и не отбираш нищо от програмиране - извинявай :oops:

А това за писането в стил C - предполагам е защото си имаш готин стил на програмиране и не искаш да си го развалиш :wink:

А това за изходните буфери звучи яко - аз например пиша работещи неща, обаче кой знае дали са оптимизирани така, че да не претоварват сървъра или още по-лошо - да не скапят харддисковете му. :mad: Изобщо не съм си правил експерименти да проверявам и дори не съм се замислял по този въпрос. Честно казано не ми пука, вече избягвам да програмирам.

Сори за офтопика :oops:
 
От: От: От: От: От: Тематично свързан банер?

А това за изходните буфери звучи яко - аз например пиша работещи неща, обаче кой знае дали са оптимизирани така, че да не претоварват сървъра или още по-лошо - да не скапят харддисковете му. :mad: Изобщо не съм си правил експерименти да проверявам и дори не съм се замислял по този въпрос. Честно казано не ми пука, вече избягвам да програмирам.
Става въпрос за друго
http://bg.php.net/ob-start
Можеш да си управляваш в кой момент уеб сървъра праща генерираните данни към блозера на усера. Например документа е генериран ама само до средата и имаш още 200 заявки към базата и четене на 5 отдалечени файла и като си правиш приложението можеш да си предвидиш дали да ти праща на части или да изсипе всичко накрая.
В моя случай може да се направи да праща картинката малко по малко - напр. ако е 5mb, да праща всеки прочетени 32kb.
 

Горе