ПредишенСледващото

Как мога да разбера колко пъти изтеглен файлът ви?

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

Важно е да се разбере как работи тезгяха, и едва след това можете да започнете да пишете код.

Първото нещо, което трябва да се вземе решение за нейната структура: кои файлове ще бъде и как ще си взаимодействат. За по-голяма яснота, бих искал да цитирам на следващата фигура.

Ние имаме някои сайт www.sayt.ru. Да приемем, че на този сайт, което трябва да се преброи колко пъти да изтеглите няколко книги. Линкове към книгите е в book.php файл. За удобство, ние се създаде отделна директория на броячи, които ще бъдат много брояч (counter.php) и текстови документи, в които ще се съхраняват данните, колко пъти сте изтеглили подходящата книга (book1.txt и book2.txt). Може да попитате, защо не го използвате за съхранение на броя на база данни за изтегляне? Разбира се, book.txt може да замени тази база, но трябва специален софтуер. В допълнение, текстови файлове, е много по-лесно за използване от базата данни. И аз с нетърпение очакваме да си статия на първо място за начинаещи. Няма съмнение, че голям онлайн използването на базата данни е необходимост. Без него не може да направи. Само броят на текстови файлове, за да достигне такъв голям брой, които се справят с тях, ще бъде практически невъзможно. Но това е тема за друга статия.

В резултат на това в резултат на това, когато се отвори book.php файл, трябва да видите нещо подобно на следното:

Сега ще се опитам да опиша как работи този цикъл като цяло. Първа страница е зареден с нашата справка и надпис - "Брой сваляния: 25". За да се броят 25, трябва да има достъп до файла, където тя се съхранява (book.txt). След като потребителят кликне върху линка, програмата започва (counter.php), който увеличава стойността на променливата с 1 и го пише в текстов файл. И така всеки път.

Както можете да видите на теория това е много проста. Но основните проблеми възникват в практиката.

Така че, нека да преминем към техническата страна на въпроса. Да започнем директно от щанда (counter.php). Ето кода, за да вмъкнете в него.

Е, колко е трудно? Нека да се справим заедно.

За да започнете да се дефинира код структура. Както знаете, за да използвате PHP, трябва да се създаде следната структура:

По този начин, ние даваме на програмата се разбере, че използването на PHP.

Тъй като са изтеглили файловете, по, за да се определи на каква връзка е кликнато, дизайнът се използва:

и т.н. По този начин, подбор се извършва с помощта на променливата $ книгата. Единственият начин да се уверите, че когато кликнете върху конкретна връзка съответен на променлива?

Когато искате да отидете в конкретен сайт, ще трябва да въведете адреса.

Но URL всъщност може да имат по-дълъг поглед. Видя ли следната позиция:

Тези параметри могат да бъдат променливи.

Посочването, толкова променлива, те ще бъдат прехвърлени на отворения файл. Ако трябва да се декларират няколко променливи, то се извършва чрез знака "."

По този начин, когато потребителят отвори тази страница, променливите се задават автоматично, което е много удобно. Този метод на предаване на променливи в скрипт, наречен от GET.

Това е целият дизайн вече могат да преминем към кода на тезгяха.

Както бе споменато по-горе, за да се съхранява на променлив брой сваляния, използва текстов файл. Всъщност целият проблем на брояча е да го отворят и да разберете каква стойност в момента на гишето, за увеличаване на тази стойност на 1 и затворете файла. Това е!

В PHP, да се работи с текстови файлове, не забравяйте да изпълните следните стъпки:

2) Извличане на данните от файла и да ги промени, ако е необходимо

Специална функция за отваряне на файла: $ променлива = fopen ( "Име на файл", "режим");

Когато отворите файла, който трябва да се уточни начина да бъде разрешено да извършват определени действия върху файла, след като се отвори. Режими на които могат да бъдат определени в следната таблица:

режим
Какво ще стане, ако файлът съществува
Какво ще се случи, ако файлът не съществува

R
само за четене
Няма да има предупредително съобщение

R +
Четене и писане
Няма да има предупредително съобщение

w
записване само
Ще бъде създаден нов файл. Ако файлът съществува, новият файл ще бъде написан върху старите

w +
Четене и писане
Ще бъде създаден нов файл. Ако файлът съществува, новият файл ще бъде написан върху старите

а
Добавяне на данни към файла
Ще бъде създаден нов файл.

с +
Четене и добавяне на данни към файла
Ще бъде създаден нов файл.

По този начин, ние отваряме book.txt файл, за да четат и променят своята стойност. Тя създава специална променлива файл $, който ще се поддържа отворен файл.

- тълпят ($ файл, LOCK_EX). Много важен елемент. Той блокира достъпа до преписката за срока на сценария. Представете си, че са кликнали върху линка в същото време, веднага след като двама души. Тъй като сценарият се отваря файл за писане, тя може да се провали и на гишето просто нулиране.

- $ Count = fread ($ файл, 100); По-нататък се казва в информацията от отворен файл $ файл и да го зададете променлива броят на $.

- $ Граф ++; - увеличаване на стойността на 1. Това е еквивалентно на следващия запис (брой $ брой = $ + 1).

- ftruncate ($ файл, 0); - С тази команда съдържанието на файла (book.txt) се изчистват. И сега може да бъде свободен да пише на новата информация. Тя е в този момент може да се провали, когато два едновременно тече скриптове. I спомена по-горе. Но ние имаме какво да се страхуваме, файлът е блокиран.

- неуспешно ($ файл, броят $). Пишем новата стойност на брояча.

- тълпят ($ файл, LOCK_UN). Сега можете да отключите файл и

Когато всичко е написано, не забравяйте да зададете атрибути (разрешения) на текстови файлове (TXT). Това може да стане чрез FTP-клиент. Промяна на файловите атрибути на 666 (RW-RW-RW).

Е, това е всичко. Опитах се, доколкото е възможно ясно и лесно да ви обясня инсталационния процес изтегляне на брояча на. Все пак, ако нещо не работи, моля, свържете се с мен и ние ще се опитаме да решим проблема заедно.

С уважение, Дмитрий Chengaev

Свързани статии

Подкрепете проекта - споделете линка, благодаря!