Прост текстов брояч в PHP, PHP, статии, програмиране - C програмиране, Delphi, C#

Нека започнем със създаването на най-простия текстов брояч, който ще брои само една страница - тази, на която ще бъде поставен. Но преди да преминем директно към програмирането, нека се спрем на неговия алгоритъм. В този случай е много просто, но като го формулираме с думи, ще ни бъде по-лесно да разберем как работи кодът. И така, алгоритъмът на брояча ще бъде както следва:

  1. Прочетете текущото съдържание на брояча;
  2. Увеличете текущото съдържание на брояча с единица;
  3. Запазете актуализираното съдържание на брояча;
  4. Отпечатайте актуализираната стойност на брояча.

Сега важният въпрос - къде ще съхраняваме стойността на брояча? защото Тъй като страницата се иска от различни хора и от различни компютри, можем да я съхраняваме само на сървъра. Хранилището може да бъде файл или база данни. Сега няма да анализираме работата с базата данни, а ще се съсредоточим върху обикновен текстов файл, като най-подходящ вариант в много случаи.

Както можете да видите, скриптът е доста прозрачен и почти напълно следва предварително формулирания алгоритъм. В същото време, за удобство на по-нататъшната поддръжка на код, дефинирах променливата$file_counterв първия ред, който вече използвам. Опитайте се, когато е възможно, винаги да дефинирате променливи за всички повече или по-малко важни изходни данни и не ги използвайте директно.

За да работите с файлове в PHP, както и в много други езици за програмиране, първо трябва да отворите файла за четене или запис. За отваряне на файл се използва функциятаfopen(), като параметри, подадени към нея, трябва да посочим пътя до файла и метода за достъп ("r" - за четене, "w" - за запис). Ако файлът е отворен успешнополучаваме неговия дескриптор, който по-нататък се използва при всякакви операции с файла.

В следващата стъпка, използвайки функциятаfread(), четем съдържанието на файла. защото имаме много прост брояч, тогава цялото съдържание на файла е стойността на брояча. Но за да прочетем съдържанието на файл, в допълнение към файловия дескриптор, трябва да посочим и размера на данните, които да бъдат прочетени. Ако файлът е малък, най-лесно е да го прочетете в променлива в неговата цялост. Така че първо трябва да знаем размера на файла в байтове. Това става с помощта на функциятаfilesize().

След като приключим работата с файла, той трябва да бъде затворен, за да се освободят ресурсите на операционната система. За да затворите файл, просто извикайте функциятаfclose(), като посочите файловия дескриптор като параметър. След като файлът бъде затворен, манипулаторът става недефиниран и вече не може да се използва.

След прочитане на стойността на брояча, тя трябва да се увеличи с единица и актуализираната стойност да се запише във файла. Когато записвате файл, както и когато го отваряте, първо трябва да получите файлов дескриптор и едва след това да извършвате операции с файла. За разлика от четенето, сега трябва да отворим файла за запис, като посочим режима на достъп "w". Когато файл се отвори в режим на запис, той автоматично се съкращава до нулева дължина. За да запазим низ във файл, използваме функциятаfwrite(), като й предаваме дескриптора на файла и действителната стойност на променливата$counterкато параметри.

Файлът може да липсва при първото стартиране на скрипта, в който случай той ще бъде създаден автоматично при първото записване на брояча.