イメージ リンク広告はおそらく最も一般的に使用されているオンライン広告モデルですが、複数の広告を動的かつランダムに表示することはそれほど単純ではありません。 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/ ディレクトリに存在するサブディレクトリであるため、新しいデータベースを作成するだけで済みます。このディレクトリ内には、サブディレクトリ guanggao だけで十分です。現時点では、データベース内にテーブルとデータはありません。
2. 新しい広告プログラムを作成します: AddNewAd.php3
設計アイデア: 最初にフォームを使用してユーザーの新しい広告情報を取得し、次に PHP 関数 copy() を使用してリンク画像 (バナー) ファイルをサーバーの広告バナー ディレクトリにアップロードします。 ; 最後に 作成したMySQLデータテーブル広告に画像ファイル名、広告URL、説明、重み付け情報等を書き込みます。プログラムコードは以下の通りです:
# AddNewAd.php3——新しい広告を追加#
新しい広告を追加
//フォームは新しい広告情報を入力するために使用され、処理のために次のPHPプログラムに渡されます
//このうち重み付け値の優先度は数値が大きいほど読み込みページ画像が出現する確率が高くなります。デフォルトは1です。
広告バナー:
広告 URL:
画像リンクの説明 ALT:
表示の重み付け:
// フォーム データを処理する PHP プログラム
// 画像バナー名とリンク アドレスを空にすることはできません。 ") & ( url!="")) {
//広告リンクと画像名が使用されている場合は、別のものを選択する必要があります;
if (file_exists("adbanner/".banner_name)) {
echo "広告image.banner_name .すでに使用されているため、別のものを選択してください! ";
exit;
};
//リンク画像ファイル名を adbanner ディレクトリにアップロードします;
copy(banner,"adbanner/".banner_name);
// MySQL データベースに接続します;
connection = mysql_connect();
mysql_select_db("guanggao", );
result=mysql_query (query);
//データ テーブル広告が存在しない場合は、次の構造に従って新しいデータ テーブル広告を作成します
mysql_query("
create table ad(
url varchar(100) ) null ではありません、
バナー varchar(150) は null ではありません、
alt varchar(100) null、
優先度 tinyint(4) デフォルト '1' は null ではありません
)") または die(mysql_error());
}
//フォームからデータ テーブル ad に新しいデータを挿入します。
query="insert into ad(url, Banner, alt, priority) names(' url', ' Banner_name', '
alt', ' priority')"; //挿入が成功すると、次の情報が表示されます;
try=mysql_query ( query);
if( try){
echo "広告が追加されました。詳細情報:
";
echo "広告 URL: url
広告リンクの説明: alt
ディスプレイの重み付け: 優先度 " ;
}
}
?>
3. ディスプレイ広告プログラムを作成します: ShowAd.php3
設計アイデア: すべての列情報を取得しますデータベース テーブルを取得し、対応する 1 次元配列に格納し、すべての広告の重みを加算します。最大の乱数を取得するには、ページが読み込まれるたびに srand() を使用してランダム ツリー シードを生成し、次に rand( ) 関数は、1 から最大乱数の間の乱数を生成し、一定のルールに従って異なる数値をランダムに表示します。広告バナーの場合、重みが大きいほど表示される可能性が高くなります。
# ShowAd.php3——広告をランダムに表示 # using using query="優先度 > 0 の広告から url、バナー、alt、優先度を選択します
result=mysql_db_query("guanggao", query) ;
numrows=mysql_num_rows(result);
// mysql_fetch_object() 関数を使用して、対応する配列に有用な列情報を取得します。
adurl[]= row->url ;
adbanner[]= row->banner;
adalt[]= row->priority;
numcheck= numrows; i= pricount=0;
// 最大の乱数を取得します += adpriority[ i]
} // 100 万分の 1 ごとに乱数シードを生成します。プログラムが実行されているときの 1 秒間実行;
srand((double)microtime()*1000000);
//乱数の間の最大の乱数を取得します
//中間変数はクリアされます。 pricount=0;
//さまざまな重み付け値に従って、広告の表示に使用される要素は文字列の配列です。
for( i=0; i< numrows-1; i++) {
pricount += adpriority[ i] ;
if ( pri ad[]="";
}
} // 値が大きいほど、広告を表示します。 Gt;
上記では、2012 年の小さなアパートの装飾レンダリングの写真の内容を含め、PHP を使用して小規模サイトの広告管理を実装する方法を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。