Временные ссылки

Статус
В этой теме нельзя размещать новые ответы.

Sachek

Умелый
Регистрация
23 Мар 2009
Сообщения
398
Реакции
120
Приветствую, подскажите пожалуйста как сделать для скрипта интернет магазина - временные ссылки, то бишь индивидуальная ссылка, которые генерируется на 1 комп и в течении скажем 36 часов. Я примерно алгоритм представляю, но вот как реализовать полностью в коде не совсем понял. Алгоритм похож на файлообменники. Заранее спасибо.
 
Приветствую, подскажите пожалуйста как сделать для скрипта интернет магазина - временные ссылки, то бишь индивидуальная ссылка, которые генерируется на 1 комп и в течении скажем 36 часов. Я примерно алгоритм представляю, но вот как реализовать полностью в коде не совсем понял. Алгоритм похож на файлообменники. Заранее спасибо.
Ссылка нужна на корзину с уже выбранными товарами?
ставишь куку на определённое время, в бд заносишь индивид данные(заказанные товары).
 
Не совсем, мне по сути надо просто скрипт, к корзине я его потом сам приляпаю. Мне надо, что бы генерилась ссылка. К примеру файл с видяшкой лежит по адресу а на мыло к пользователю придет ссылка ну или как то так :) И ссылка это удаляется через 30 часов к примеру. Мне вот интересен сам алгоритм генерации ссылки по отношению к настоящему расположению файла.
 
ссылка генерится рандомо, а в таблице в бд хранить соответствие:
временная -> реальная
ну и при обработке в скрипте временной ссылки учитываем это
 
эффект временности ссылки можно достигнуть добавлением чего-то вроде expires, которое будет хранить то время, до которого ссылка действительна. При активации\запросе проверять это время. Раз в какой то промежуток времени дропать все линки, у которых expires прошло
 
Я конечно благодарен всем :) Но можно на реальном примере что ни будь? Я имею ввиду код сам :) Хоть кусок. Я уже говорил, что примерно картину представляю(говорил еще в первом посту), а вот в виде кода как раз таки и нет :)
 
1. создаешь уникальный идентификатор, например так:
PHP:
$newsess = md5(uniqid(microtime()));
2. записываешь в db, в формате:
Код:
t_url;url;dat
3. Отправляешь линк юзеру:
PHP:
$temp_url = 'http://site.com/t-' . $newsess . '.html';
4. Перед отдачей контента удаляешь все истекшие:
Код:
"DELETE FROM temp_url WHERE TO_DAYS(NOW()) - TO_DAYS(dat) > 1
берешь $blabla из урла, по которому юзер перешел, например регуляркой:
Код:
'~^/t-([a-z0-9]+).html$~i'
и проверяешь наличие:
Код:
SELECT url FROM temp_url WHERE t_url='{$blabla}'
 
1. создаешь уникальный идентификатор, например так:
PHP:
$newsess = md5(uniqid(microtime()));
2. записываешь в db, в формате:
Код:
t_url;url;dat
3. Отправляешь линк юзеру:
PHP:
$temp_url = 'http://site.com/t-' . $newsess . '.html';
4. Перед отдачей контента удаляешь все истекшие:
Код:
"DELETE FROM temp_url WHERE TO_DAYS(NOW()) - TO_DAYS(dat) > 1
берешь $blabla из урла, по которому юзер перешел, например регуляркой:
Код:
'~^/t-([a-z0-9]+).html$~i'
и проверяешь наличие:
Код:
SELECT url FROM temp_url WHERE t_url='{$blabla}'
А на каком этапе прописывается реальная (действующая и постоянная) ссылка...
 
После того как получил данные из базы (в примере выше это)
PHP:
SELECT url FROM temp_url WHERE t_url='{$blabla}'
После делаешь symlink (легче, но на шаред хостинге не пойдет), или читаешь и отдаешь файл построчно (лишняя небольшая нагрузка, реализуемо везде)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху