Как сделать фейковое кол-во скачиваний на странице загрузки?

123
W
На сайте с 14.11.2012
Offline
41
#11

Разобрался. Все отлично работает! Еще раз огромнейшее вам спасибо за помощь :)

---------- Добавлено 02.03.2016 в 18:17 ----------

silicoid:
хороший вопрос. Откровенно говоря даже не знаю.

надо спросить у тех, кто знаком с шаблонизатором.

возможно, если заменить <?php код ?> На {{ код }} то будет работать

Обнаружил один неприятный момент. Оказывается это фейковое значение генерируется одно на все файлы. Видимо из-за того что в движке за вывод странцы скачивания файла отвечает один файл files.blade.php в который и помещается весь ваш код. И это несмотря на то что у каждого файла свой url страницы скачивания. То есть пользователь загрузив страницу скачивания любого из загруженных мною на сайт файла, всегда увидит одно и тоже значение (конечно с учетом приплюсованных за время скачиваний). Можно ли как-то сделать так, что бы пользователю в куки записывались значения для каждого url'а отдельно? Для того чтобы у каждого файла он видел разное кол-во скачиваний, а не одно на всех.

S
На сайте с 13.10.2014
Offline
171
#12
widgin:
Обнаружил один неприятный момент.

Сейчас подрихтуем )

W
На сайте с 14.11.2012
Offline
41
#13

Вот если нужно, этот php файл https://yadi.sk/d/EHl7f0cAprQHv

Может можно привязывать кол-во скачиваний к какому-нибудь уникальному значению в этом файле вывода страницы скачивания.

S
На сайте с 13.10.2014
Offline
171
#14

подрихтовал

изменения минимальны. Добавил привязку к урлу.

1 надо изменить вверху три строчки, где if

		

// местонахождение сервера
// можно не указывать, если в настройках сервера это есть
date_default_timezone_set ('Europe/Moscow');

$reqiest_url = parse_url($_SERVER['REQUEST_URI']); /*добавлено */
$path = base64_encode($reqiest_url['path']); /* добавлено*/

if (empty($_COOKIE["dCount".$path])) /*изменено */
{

изменить строку получения данных


$dCount = unserialize(base64_decode($_COOKIE["dCount".$path]));

которая сразу под $max_dpd = 86400;

и внизу исправить строчку в явакскрипте


document.cookie = "dCount<?php print $path; ?>=<?php print $cookie; ?>; expires=<?php print $expires; ?>";

это при условии, что используется чпу. если используется для навигации стандартные гет запросы, то надо вместо $reqiest_url['path'] написать $reqiest_url['query']

тут правда кол-во кук будет пропорционально кол-ву открытых страниц, но зато должно выводиться как надо

W
На сайте с 14.11.2012
Offline
41
#15
silicoid:
подрихтовал
изменения минимальны. Добавил привязку к урлу.

1 надо изменить вверху три строчки, где if
		

// местонахождение сервера
// можно не указывать, если в настройках сервера это есть
date_default_timezone_set ('Europe/Moscow');

$reqiest_url = parse_url($_SERVER['REQUEST_URI']); /*добавлено */
$path = base64_encode($reqiest_url['path']); /* добавлено*/

if (empty($_COOKIE["dCount".$path])) /*изменено */
{


изменить строку получения данных

$dCount = unserialize(base64_decode($_COOKIE["dCount".$path]));

которая сразу под $max_dpd = 86400;


и внизу исправить строчку в явакскрипте

document.cookie = "dCount<?php print $path; ?>=<?php print $cookie; ?>; expires=<?php print $expires; ?>";


это при условии, что используется чпу. если используется для навигации стандартные гет запросы, то надо вместо $reqiest_url['path'] написать $reqiest_url['query']

тут правда кол-во кук будет пропорционально кол-ву открытых страниц, но зато должно выводиться как надо

К сожалению, теперь при каждом обновлении страницы генерируется новое значение кол-во скачиваний.

S
На сайте с 13.10.2014
Offline
171
#16

widgin, а можно примеры юрлов?

А еще лучше постучите в лс. надо не живом сайте посмотреть

W
На сайте с 14.11.2012
Offline
41
#17
silicoid:
widgin, а можно примеры юрлов?

А еще лучше постучите в лс. надо не живом сайте посмотреть

Написал в лс.

ДП
На сайте с 23.11.2009
Offline
203
#18

Не забывайте, что общий размер куков для сайта ограничен и еси пользователь будет много ходить по страницам - то размер куки будет расти и со временем старые данные потеряются

S
На сайте с 13.10.2014
Offline
171
#19

Дикий пионер,

параметр document.cookie позволяет загружать на клиентский компьютер только 4,096 байт файлов "cookie"; если строка "cookie" длиннее 4,096 байт, параметр вернет пустую строку

4096/64 = 64 файла.

думаю, что на одного человека хватит ))

а потом он забудет сам, что качал

W
На сайте с 14.11.2012
Offline
41
#20
Дикий пионер:
Не забывайте, что общий размер куков для сайта ограничен и еси пользователь будет много ходить по страницам - то размер куки будет расти и со временем старые данные потеряются

А на сколько примерно страниц их может хватить? В любом случае я думаю это не страшно. Ведь пользователь вряд ли целенаправленно что-либо будет запоминать, и после нескольких просмотренных страниц, он уже и не вспомнить, сколько скачиваний было на первой. А вот если он зашел из-за одного файла и при простом обновлении страницы или повторном запуске браузера (через короткий промежуток времени) увидел меньшее значение (или значительно большее), то это кончено вызовет у него сомнение. Но этот вопрос уже помог решить silicoid, так что все отлично. Все уже функционирует, и завтра можно будет делать выводы об изменении конверсии.

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий