Image link ads are probably the most commonly used online advertising model, but the dynamic and random display of multiple ads is not that simple. PHP's file upload function provides a solution to randomly display advertisements based on weight in this 468x60 pixel area (the standard size of web page advertisements), thereby avoiding the need for plug-ins in the development of FTP programs or ASP and Perl CAI Extensions are needed to achieve this feature.
This example was debugged and passed under PHP4+MySQL+Apache for Win9x/2000. It consists of two parts: the program AddNewAd.php3 for adding new advertisements and the program ShowAd.php3 for displaying advertisements, both of which are stored on the server. In the "test/guanggao/" directory under the PHP file directory. Create a subdirectory "adbanner/" in the guanggao directory to store advertising link images.Below we analyze step by step.
1. First, create a MySQL database: guanggao
In a Windows environment, it is very simple to create an empty MySQL database, because each database exists in the mysql/data/ directory. subdirectory, so just create a new subdirectory guanggao in this directory. At this time, there are no tables and data in the database.
2. Create a new advertising program: AddNewAd.php3
Design idea: first use a form to get the user’s new advertising information; then use the PHP function copy() to copy the linked image (banner) The file is uploaded to the adbanner directory of the server; finally, the image file name, advertising URL, description, weighted information, etc. are written into the created MySQL data table ad. The program code is as follows:
# AddNewAd.php3——Add new advertisement#
Add new advertisement
//The form is used to enter new advertisement information and submit Process it for the PHP program below;
//Among them, the larger the weighted value priority number, the higher the probability of the image appearing on the loading page. The default is 1.
Advertising Banner:
Advertising URL:
Image link description ALT:
Display weighting:
//PHP program that processes form data;
//The image banner name and link address cannot be empty;
if (( banner!="") & ( url!="") ) {
//If the advertising link and image name have been used, you must choose another one;
if (file_exists("adbanner/". banner_name)) {
echo "Advertising image. banner_name. has been used , please choose another one! ";
exit;
};
//Upload the link image file name to the adbanner directory;
copy(banner,"adbanner/". banner_name);
/ /Connect to the MySQL database;
connection = mysql_connect();
//Select the data source guanggao and execute the query;;
mysql_select_db("guanggao", );
query="SELECT * FROM ad" ;
result=mysql_query( query);
//If the data table ad does not exist, create a new data table ad according to the following structure;
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
)") or die(mysql_error());
}
//Insert new data from the form into the data table ad;
query="insert into ad(url, banner , alt, priority) values(' url', ' banner_name', '
alt', ' priority')";
//If the insertion is successful, the following information will be displayed;
try=mysql_query( query);
if(try){
echo "An advertisement has been added, detailed information:
";
echo "
";
echo "Advertisement URL: url
advertisement Link description: alt
Display weighting: priority ";
}
}
?>
3. Create a display advertising program: ShowAd.php3
Design Idea: Get all column information in the database table and store them in corresponding one-dimensional arrays. Add the weights of all advertisements to get a maximum random number. Use srand() to generate a random tree seed each time the page is loaded, and then Use the rand() function to generate a random number between 1 and the maximum random number, and then randomly display different advertising banners according to certain rules. The greater the weight, the greater the chance of being displayed.
# ShowAd.php3——Display ads randomly#
//Connect to select database;
connection = mysql_connect();
mysql_select_db("guanggao", connection);
/ /Execute the query to get the number of ads;
query="SELECT url, banner, alt, priority FROM ad where priority > 0";
result=mysql_db_query("guanggao", query);
numrows= mysql_num_rows( result);
//Use the mysql_fetch_object() function to obtain useful column information and store it in the corresponding array;
while( row = mysql_fetch_object( result)) {
adurl[]= row-> url; Initialize intermediate variables;
numcheck= numrows;
i= pricount=0;
//Get the maximum random number;
while(numcheck) {
pricount+= adpriority[ i];
i++; numcheck--;
}
//Generate a random number seed every one millionth of a second when the program is executed;
srand((double)microtime()*1000000);
/ /Get a random number between 1 and the maximum random number;
pri = rand(1, pricount);
//Clear the intermediate variables to zero;
pricount=0;
//According to weighting If the values are different, an array whose elements are strings used to display advertisements is generated;
for( i=0; i< numrows-1; i++) {
pricount += adpriority[ i];
if ( pri <= pricount) {
ad[]="";
}
}
//Display ads, the greater the weight, the greater the chance of display;
echo ad[ 0];
?>
http://www.bkjia.com/PHPjc/315834.html