PHP is a popular server-side scripting language. It is very powerful and you can do almost anything with it. You can make beautiful counters very quickly without complicated variables and code. Below, let us do it step by step.
In fact, everyone knows the principle of counter. First, determine a record file, such as counter.txt or counter.log. Every time this page is accessed, add 1 to this file, and then display the result.
Therefore, our PHP code should start like this:
<?PHP
§countfile = "js/counter.inf";
//The file to define the counter is //counter.inf in the JS directory in the current directory, and then we should test whether the file can be opened
if ((§fp = fopen(§countfile, "r+" )) == false) { //Open the file in read-write mode, exit if it cannot be opened
printf ("Open file %s failed!",§countfile);
exit;
}
else
{
//If the file can be opened normally, read the data in the file, assuming it is 1
§count = fread (§fp,10);
//Read 10-bit data
§count = §count + 1;
//count ++
fclose (§fp);
//Close the current file
§fp = fopen(§countfile, "w+")
//With Open the file in overwrite mode
fwrite (§fp,§count);
//Write the new data plus 1
fclose (§fp);
//And close the file
}
At this time, the entire counting work is completed. If it is just a simple text count, the value of the variable §count can be output here. The following is the code to convert §count to image mode:
§fp = fopen (§countfile, "r"); //Open the file in read-only mode
§array_count = 1; //Define a variable that represents the position of the array element. Use
while (! feof(§fp)) {
§current_number = fgetc(§fp);
§counter_array[§array_count] = §current_number;
§array_elements = count (§counter_array);
§array_count = §array_count + 1;
}
The function of the while loop above is to separate each digit. It reads the values from counter.inf bit by bit from left to right, and writes them sequentially into an array called counter_array. The index of this array starts from 1 (§array_count). If the number in counter.inf is now 158, then the array §counter_array[] looks like this: §counter_array[1] = 1, §counter_array[2] = 5, §counter_array[3] = 8. With the above work, we can easily display different digital pictures. The display code is as follows:
echo ("<table border="0" height="5" align="center">< tr><td bgcolor="#bab389" align="center">Welcome, No.");
for (§array_id = 1;§array_id<§array_elements; ++ §array_id) {
echo ("<img src="imagescounter§counter_array[§array_id].gif" align=absmiddle>");
}
echo ("Guests</td ></tr></table>");
}
The above code is very simple, it is to draw a table and display the required pictures in the table in turn. There are ten pictures from 0.gif to 9.gif in the imagescounter directory. The for loop traverses the array and gives the corresponding picture for each digit from high to low, until the end of the array. In this way, a complete counter is completed.