Version: 1.0
Type: Function
Category: Other
License: GNU General Public License
Description: Simple PHP counter that requires no database, just a text file…
<?php /************************************************************ * PHP - Counter (No DB) * * Page: counter.php * * Developer: Jeffrey M. Johns * * Support: [email protected] * * Modified: 04/17/2003 * ************************************************************* Purpose: This function will enable the user to put a counter on there website that requires no database. You must pass (1) variable with this function and that variable would be the filename of the text file to write the counter number to. (ie. text/counter.txt) This folder and file must be set so it can be written to. Set this folder to '666' in the CHMOD. To make the file, you can just open notepad and save a blank .txt file to the folder you wish to house the counter text file. Just remember to leave the text file blank to start at 0, or you can type a number to start at that number. For instance, to start at 5011, you would type 5011 in the text file and save the file. You must also make sure there are no extra lines (carriage returns) in the text file. To check this just try to place you cursor under the first line with your mouse, click under the line and if the cursor just shows up after the first line, you are ready to go, if not, then delete the extra lines. ************************************************************* Example: $path = "counter.txt"; print 'This page has been accessed ('.CallCounter($path).') times.'; ************************************************************* Read more about PHP's reserved variables @ the following URL: http://www.php.net/manual/en/ref.filesystem.php *************************************************************/ function CallCounter($path) { $path = trim($path); $no_path = '<b>CallCounter() Error:</b> You must specify a file path to enable the counter!<BR><BR>'; $no_write = '<b>CallCounter() Error:</b> Your CHMOD access is incorrect, please set the counter text file to 666!<BR><BR>'; $no_file = '<b>CallCounter() Error:</b> The file specified could not be opened to write the counter file to, please double check your counter file path...<BR><BR>'; if (!$path) { //If no variable found, write error to screen print "$no_path"; //Error Message } else { $counter = @file($path); //Put contents of file into an array $line = @each($counter); //Seperate each line into a division of the array $counter = $line[value]+1; //Set the counter variable $fp = @fopen ($path, "w"); //Open the file if (!$fp) { print"$no_file"; //Display Error Message if no file is found $counter = ""; //Erase Counter Number } elseif (@fwrite ($fp, "$counter")) { //Write the new counter value to the file @fclose($fp); //Close the file } else { print "$no_write"; //Display error message if file could not be updated $counter = ""; //Erase Counter Number } } return $counter; } ?>