広告|サイト
イメージ リンク広告はおそらく最も一般的に使用されているオンライン広告モデルですが、複数の広告を動的かつランダムに表示することはそれほど単純ではありません。 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 です。
フォームデータを処理する PHP プログラム
<
//画像バナー名とリンクアドレスは空にすることはできません
if ((banner!="") & ( url!="")) {
//広告リンクと画像名が使用されている場合は、空にする必要があります。個別に選択してください;
if (file_exists("adbanner/".banner_name)) {
echo "広告画像.banner_name. が使用されています。別の画像を選択してください!"
//リンク画像をアップロードします。ファイル名を adbanner ディレクトリにコピーします。
//MySQL データベースに接続します。
//データ ソースを選択し、クエリを実行します。
mysql_select_db("guanggao", );
query ="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) デフォルト1 null ではありません
)") または die(mysql_error());
}
//フォームからデータ テーブル広告に新しいデータを挿入します;
query="広告(url, バナー, alt, priority) 値に挿入( url, Banner_name,
alt, priority)";
// 挿入が成功すると、次の情報が表示されます;
try=mysql_query( query);
if( try){
echo "広告が追加されました、詳細情報:
";
echo "
< ;img src="adbanner/banner_name" alt=". alt." border=0>" ;
echo "広告 URL: url
広告リンクの説明: alt
ディスプレイの重み付け:
}
?>
3. ディスプレイ広告プログラムを作成します: ShowAd.php3
: データベース テーブル内のすべての列情報を取得し、対応する 1 次元配列に格納します。ページがロードされるたびに、srand() を使用して最大の乱数を取得します。ランダム ツリー シードを取得し、rand() 関数を使用して 1 から最大乱数までの乱数を生成し、特定のルールに従って、異なる広告バナーがランダムに表示されます。重みが大きいほど、表示される可能性が高くなります。
# ShowAd.php3—広告をランダムに表示します#
//選択したデータベースに接続します;
connection = mysql_connect();
mysql_select_db("guanggao", connection);
//広告の数 ;
query="優先度が 0 の広告から URL、バナー、alt、優先度を選択します";result=mysql_db_query("guanggao", query);
numrows=mysql_num_rows( result);
// mysql_fetch_object() 関数を使用して、それを対応する配列に保存します
while( row = mysql_fetch_object( result) ) {
adurl[]= 行->url;
adbanner[]= 行->バナー;
adpriority[]= 行->優先度; /初期化変数;
numrows;
i= pricount=0;
while( numcheck) {
pricount+= numcheck--; //プログラム実行 100万分の1秒で乱数シードを生成
//1から最大乱数までの乱数を取得; , pricount );
//中間変数をクリアします;
pricount=0;
// 広告を表示するために使用される文字列要素を含む配列を生成します。 ) {
pricount += adpriority[ i];
if ( pri <= pricount) {
ad[]="
"; }
}
//広告の重みが大きいほど、表示される機会が大きくなります
;