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 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 in the server PHP file directory. In the "test/guanggao/" 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 is a subdirectory that exists in the mysql/data/ directory, so just create a new one in this directory The subdirectory guanggao is sufficient. 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 upload the link image (banner) file to the server adbanner directory; finally The image file name, advertising URL, description, weighting 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 the new advertisement information and is handed over to the following PHP program for processing;
//Among them, the weighted value priority The larger the number, the higher the probability of the loading page image appearing. The default is 1.
Advertising Banner:
Advertising URL:
Image link description ALT:
Display weighting:
// PHP program that processes form data;
// 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 .Already 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 If 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 "Ad URL: url
Ad link description: alt
Display weighting: priority " ;
}
}
?>
3. Create a display advertising program: ShowAd.php3
Design idea: get all the column information in the database table and store it in the corresponding one-dimensional array, and add the weights of all ads To get a maximum random number, use srand() to generate a random tree seed each time the page is loaded, then use the rand() function to generate a random number between 1 and the maximum random number, and then randomly display different numbers according to certain rules. For advertising banners, the greater the weight, the greater the chance of being displayed.
# ShowAd.php3——Display ads randomly # using using using ‐ ‐ using using ‐ 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. to the corresponding array;
while( row = mysql_fetch_object( result)) {
adurl[]= row->url;
adbanner[]= row->banner;
adalt[]= row->alt;
adpriority[]= row->priority;
}
//Initialize intermediate variables;
numcheck= numrows;
i= pricount=0;
//Get the maximum random number;
while( numcheck) { while
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 1 to the maximum A random number between random numbers;
pri = rand(1, pricount);
//The intermediate variables are cleared;
pricount=0;
//According to different weighted values, the elements used to display advertisements are words. Array of strings;
for( i=0; i< numrows-1; i++) {
pricount += adpriority[ i];
if ( pri <= pricount) {
ad[]="";
}
} 广 // Display the advertisement, the greater the value, the greater the opportunity;
echo ad [0];
? & Gt;
The above has introduced the use of PHP to implement small site advertising management, including the content of the small apartment decoration renderings 2012 pictures. I hope it will be helpful to friends who are interested in PHP tutorials.