首頁 >後端開發 >php教程 >用PHP實作小型網站廣告管理_PHP教程

用PHP實作小型網站廣告管理_PHP教程

WBOY
WBOY原創
2016-07-21 16:04:51949瀏覽

圖片連結廣告大概是最常用的網路廣告模式,但多條廣告的動態隨機顯示可不是那麼簡單的事。 PHP的檔案上傳函數提供了在這塊468x60像素的區域(網頁廣告的標準尺寸)實現能夠根據權值大小而隨機顯示廣告的解決方案,從而避免了開發FTP程式或ASP和Perl CAI需要外掛擴充才能實現此項功能的弊端。

  本例在PHP4 MySQL Apache for Win9x/2000下調試通過,共包括兩部分:用來增加新廣告的程式AddNewAd.php3以及顯示廣告的程式ShowAd.php3,都存放在伺服器PHP文件目錄下的“test/guanggao/”目錄中。在guanggao目錄中建立一個存放廣告連結圖片的子目錄「adbanner/」。下面我們就按步驟進行分析。

1.首先,建立MySQL資料庫:guanggao

  在Windows環境下,建立一個MySQL空資料庫很簡單,因為每個資料庫都是存在於mysql/data/目錄下的一個子目錄,所以只要在該目錄下新建子目錄guanggao就可以了,這時資料庫內還沒有任何表格和資料。

2.建立新增廣告程式:AddNewAd.php3

  設計思路:其中先用表單得到使用者的新廣告訊息;再用PHP函數copy()將連結圖片(banner)檔案上傳到伺服器adbanner目錄下;最後將圖片檔案名稱、廣告網址、說明、加權資訊等寫入已建立的MySQL資料表ad。程式碼如下:

  # AddNewAd.php3——增加新的廣告#

增加新廣告

    //表單用來輸入新增廣告訊息,並交給下面的PHP程式處理;
    //其中,加權值priority數字愈大,載入頁面圖片出現的機率就愈高,預設為1。


    廣告Banner:  

    廣告網址URL:  

     


    //處理表單資料的PHP程式;
         //圖片banner名與連結位址不能為空白; ) {
    //若廣告連結及圖片名稱已使用,且必須另選;
    if (file_exists("adbanner/". banner_name)) {
   ,請另選! /連接MySQL資料庫;
     connection = mysql_connect();  
   //選擇資料來源guanggao,執行查詢;;
 ROM ad" ;
    result=mysql_query( query);
   //如果資料表ad不存在,則依下列結構建立新資料表ad;
   if(!result){
>   create table ad(
   url varchar(100) not null,
   banner varchar(150) not null,
  not null  
   )") or die(mysql_error());  
   }
   //插入資料表中插入來自表單的新資料; , alt, priority) values(' url', ' banner_name', '
  alt', ' priority')";
   //插入成功則顯示下列資訊;
     //插入成功則顯示下列資訊;
   
   if( try){
   echo "一則廣告新增完成,詳細資料:
";
   echo "
"; 連結說明:  alt
顯示加權:  priority ";
    }
    }
     :得到資料庫表中所有各列資訊分別存到對應的一維數組中,將所有廣告的權值相加得到一個最大隨機數,每次載入頁面用srand() 產生一個隨機樹種子,再用rand()函數產生一個從1到最大隨機數之間的一個隨機數,然後按照一定的規則隨機顯示不同廣告條,權值越大被顯示的機會越大。

    # ShowAd.php3-隨機顯示廣告#
         //連結選擇資料庫;
    ,  connection);
    / /執行查詢得到廣告條數;
     query="SELECT url, banner, alt, priority FROM ad where priority > 0";
    sql_num_rows ( result);
   //使用mysql_fetch_object()函數取得有用的列資訊並儲存到對應陣列中;
    while( row = mysql_fetch_object( result)) {url   
     adbanner[]= row->banner;
     adalt[]= row->alt;
     adpriority[]= row->priority;
    }
    //初始化中間變量;
     numcheck= numrows;
     i= pricount=0;
    //得到最大隨機數;
; 🎜>     i ; numcheck- -;
   }
   //程式執行時的百萬分之一秒產生隨機數種子;
   srand((double)microtime()*1000000);
  隨機數之間的一個隨機數;
    pri = rand(1, pricount);
   //中間變數清零;
     pricount=0;
 來顯示廣告的、元素為字串的陣列;
    for(  i=0;  i     pricount = {
     ad[]="";
    }
    }
    //顯示廣告,「 > 



http://www.bkjia.com/PHPjc/315834.html

www.bkjia.com

true

http: //www.bkjia.com/PHPjc/315834.html

圖片連結廣告大概是最常用的網路廣告模式,但多條廣告的動態隨機顯示可不是那麼簡單的事情。 PHP的檔案上傳函數提供了在這塊468x...
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn