イメージ リンク広告はおそらく最も一般的に使用されているオンライン広告モデルですが、複数の広告を動的かつランダムに表示することはそれほど単純ではありません。 PHP のファイル アップロード機能は、この 468x60 ピクセル領域 (Web ページ広告の標準サイズ) の重みに基づいて広告をランダムに表示するソリューションを提供するため、FTP プログラムや ASP および Perl CAI 拡張機能の開発におけるプラグインの必要性を回避できます。この機能を実現するために必要です。
この例は、Win9x/2000 用の PHP4+MySQL+Apache でデバッグされました。新しい広告を追加するプログラムである AddNewAd.php3 と、広告を表示するプログラムである ShowAd.php3 の 2 つの部分で構成されています。サーバーの PHP ファイル ディレクトリ「test/guanggao/」に保存されます。広告リンク画像を保存するために、guanggao ディレクトリにサブディレクトリ「adbanner/」を作成します。以下、段階的に分析していきます。
1. まず、MySQL データベースを作成します: guanggao
Windows 環境では、各データベースは mysql/data/ ディレクトリに存在するサブディレクトリであるため、空の MySQL データベースを作成するのは非常に簡単です。このディレクトリにあります。新しいサブディレクトリ guanggao を作成するだけです。現時点では、データベースにテーブルとデータはありません。
2. 新しい広告プログラムを作成します: AddNewAd.php3
設計アイデア: 最初にフォームを使用してユーザーの新しい広告情報を取得し、次に PHP 関数 copy() を使用してリンク画像 (バナー) ファイルをサーバーにアップロードします。 adbanner ディレクトリ; 最後に、作成した MySQL データテーブル広告に画像ファイル名、広告 URL、説明、重み付け情報などを書き込みます。プログラムコードは以下の通りです:
# AddNewAd.php3——新しい広告を追加#
新しい広告を追加
//フォームは新しい広告情報を入力するために使用され、処理のために次のPHPプログラムに渡されます。
//このうち、重み付けされた優先順位の数値が大きいほど、読み込みページに画像が表示される確率が高くなります。デフォルトは 1 です。
広告バナー:
広告 Web サイトの URL:
画像リンクの説明 ALT:
表示の重み付け:
// フォームデータを処理する PHP プログラム
//画像バナー名とリンクアドレスは使用できません。 empty;
if (( Banner!="") & ( url!="")) {
//広告リンクと画像名が使用されている場合は、別の名前を選択する必要があります
if (file_exists("adbanner/ ".banner_name)) {
echo "広告画像。banner_name. が使用されています。別の画像を選択してください!";
exit;
};
// リンク画像ファイル名を adbanner ディレクトリにアップロードします;
copy(banner, "adbanner/".banner_name);
//MySQL データベースに接続します;
connection = mysql_connect();
mysql_select_db("guanggao", ); SELECT * FROM ad";
result= mysql_query( query);
//データ テーブル広告が存在しない場合は、次の構造に従って新しいデータ テーブル広告を作成します;
if(!result){
mysql_query("
create table ad(
url varchar(100) not null,
Banner varchar(150) not null,
alt varchar(100) null,
priority tinyint(4) default '1' not null
)") または die(mysql_error ());
}
//フォームから新しいデータを広告テーブルに挿入します
query="insert into ad(url, Banner, alt, priority) names(' url', ' Banner_name', '
alt' , ' priority')";
//挿入が成功した場合、次の情報を表示します;
try=mysql_query( query);
if( try){
echo "広告が追加されました、詳細情報:
";
echo "
";
echo "広告 URL: url
広告リンクの説明 : alt
表示の重み付け: 優先度 ";
}
}
3. ディスプレイ広告プログラムを作成します: ShowAd.php3
アイデア: データベース テーブル内のすべての列情報を取得し、対応する 1 次元配列に格納し、すべての広告の重みを加算して最大の乱数を取得し、ページが更新されるたびに srand() を使用してランダム ツリー シードを生成します。をロードし、rand() 関数を使用して 1 から最大乱数までの乱数を生成し、特定のルールに従って異なる広告バナーをランダムに表示します。 重みが大きいほど、表示される可能性が高くなります。
# ShowAd.php3——随机显示广告#
//接続选择データ库;
connection = mysql_connect();
mysql_select_db("guanggao", connection); //执行查询得广告条数;
query=" SELECT url, Banner, alt, priority FROM ad where priority > 0";
result=mysql_db_query("guanggao", query);
numrows=mysql_num_rows(result);
// mysql_fetch_object() 関数を使用して有用な列を取得します情報を対応する配列に格納します。
while( row = mysql_fetch_object(result)) {
adbanner[]= row->banner; alt; I Adpriority [] = row-& gt;
// 中央の変数を初期化します
i++;プログラムの実行時に 100 万分の 1 秒ごとに乱数シードを取得します。
srand((double)microtime()*1000000)
//最大の乱数の間の乱数を取得します
pri = rand(1, pricount);
//中間変数はクリアされます;
pricount=0;
// 広告を表示するために使用される要素は
for( i=0; numrows-1; i++) {
pricount += adpriority[ i];
if ( pri <= pricount) {
ad[]="";
}
}
// ディスプレイ広告のウェイトが大きいほど、表示される機会が大きくなります;
広告[0]
?>
http://www.bkjia.com/PHPjc/315834.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/315834.html
技術記事
イメージ リンク広告はおそらく最も一般的に使用されているオンライン広告モデルですが、複数の広告を動的かつランダムに表示することはそれほど単純ではありません。 PHPのファイルアップロード機能はこの作品468xで提供されています...