Временни връзки към PHP

Временни връзки към PHP. Какво е това и какво ядат?

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







Какъв е механизмът на формиране на временни връзки? Необходимо е да се създаде база данни с две маси. Първият ще бъде уникален имена на файлове за изтегляне, за да им атрибути - .. Разширение, описание и т.н. В друг временен съответствие с са създадени уникални имена на файлове, както и създаване на произволно време хеш запис. Редици от втората таблица трябва да се образуват при прехода към страницата за изтегляне на файла. И kakraz въз основа на втората таблица и ще формират временни линкове за изтегляне, която ще съдържа случайна хашиш.

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

Това може да се уреди с помощта на база данни MySQL. Но ако основата е малък файл, който е по-изгодно да се направи това в текстови файлове, един от които ще бъдат основата от архивите на имената и техните атрибути. и друг контейнер за временни връзки. Този механизъм работи на ресурса "Електроника Програмиране Уеб дизайн" PHP, HTML, CSS за любители и професионалисти в "шаблони", които се правят на CMS, посочени в статията за статистиката за търсене. Да предположим, че имаме два текстови файлове







// файлове база за имена на файлове
$ Namefiles = "namefiles.dat";
// файлове база за временни връзки
$ Templinks = "templinks.dat";

Първият - база с имена на файлове, които могат да бъдат линии, всяка от които има записи, разделени с "|". Ясно е, че първото влизане в линията е уникалния идентификационен номер на файла, а вторият е неговото описание, третият - на името на архива

001 | Шаблон сайта 77 ултра | templates1.rar
002 | Шаблон сайт от отворен дизайн | templates2.rar

Второ - това е файл, за временни връзки, които трябва да бъдат написани в низ. Поредицата ще съдържа три полета, разделени от един и същ знак "|", първият - уникалния идентификационен номер на преписката, а вторият - на случаен принцип хеш, а третият - формирането на линията. Е, сценарият отчита към момента на учредяване, нека го наречем като templinks.php, трябва да се състои от три части. Първият от тях е почистване на регистрите на временните файлове с изтекъл срок на живот. Тя изглежда така:

// как да се съхранява връзки (в секунди - 10 минути)
$ Hardtime = 600;
// текущото време в секунди
$ Currtime = времето ();
// проверка и почистване на временни редове
$ Arruniqid = файл ($ templinks);
$ Newarruniqid = масив ();
за ($ аз = 0; $ аз // Уникални временни редове масата. идентификатор
списък ($ file_id, $ uniq_id, $ puttime) = взривят ( "|", $ arruniqid [$ Ь]);
$ Difftime = $ currtime - intval ($ puttime);
// ако по време на текущия ред в рамките на ограничението
ако ($ difftime <$hardtime)
array_push ($ newarruniqid, "$ file_id | $ uniq_id | $ puttime");
>
// създаване на масив от временна маси идентификатор
$ Newtbdwn = свие ( "", $ newarruniqid);
$ Fp = $ wf-> fopen ($ templinks "w");
@fwrite ($ FP, $ newtbdwn);
fclose ($ FP, $ templinks);

Третата част - е да се премине към образуване на междинно звено по-горе, за да свалите желания файл. За да направите това, вие трябва да преминете през записите с времето на и да се намери основната линия съответства на присъствието там на $ uniq_id до тогава ходене до основното име на файла на файла къде да намеря подходящо време открити в записите в базата данни $ идентификатор.

ако ($ _ GET [ 'сваляне'])
$ DWN = файл ($ templinks);
foreach ($ DWN като $ ключ => $ Val)
списък ($ file_id, $ uniq_id, $ puttime) = взривят ( "|", $ Вал);
ако (strstr ($ uniq_id == $ _GET [ 'сваляне'])
$ Id = $ file_id
прекъсване;
>
>

Сега ние имаме идентификатор на файла, на който можете да намерите името на файла в namefiles.dat и да дава на потребителя. Това, което всъщност е необходимо.

За да обобщим. Описаният механизъм позволява да се създават връзки с контролиран живот и параметър случаен заявка. Какво става? Изтеглете искате потребителят може само влезете в съответната страница на вашия сайт на файла. няма да можете да изтеглите файл от домейн, различен формира върху линка на сайта си, тъй като има краен кратко време на съществуване. Е, като цяло това е добър начин да се запази и да се увеличи трафика на уебсайта си.


Добавяне на маркер за материала: