Вопрос № 92637: Приветствую уважаемых!
Дело такое.
Хочу смастерить что то типа интернет-магазина, на данный момент столкнулся с задачей такого плана, нужно что бы ссылка (путь к файлу) для скачивания менялась раз в сутки. Файлов много, и предполагается такая...
Вопрос № 92.637
Приветствую уважаемых!
Дело такое.
Хочу смастерить что то типа интернет-магазина, на данный момент столкнулся с задачей такого плана, нужно что бы ссылка (путь к файлу) для скачивания менялась раз в сутки. Файлов много, и предполагается такая система для каждого файла. Как этого можно добиться?
Спасибо.
Отвечает: Sea
Здравствуйте, Chufrinov Vadim!
Вообще способов довольно много, но приведу наиболее простой:
Есть таблица (неважно в БД или в файле):
alias file
---------------------------------------------------------
dvf45s34get downloadedFile1.rar
jk34u345iuh downloadedFile2.rar
9dfg8dfg8df downloadedFile3.rar
8dfs786gdfg downloadedFile4.rar
dfgs98sdfg7 downloadedFile5.rar
Смысл в том, что для каждого файла существует псевдоним. И все обращения к файлу происходят непосредственно по этому псевдониму. Например:
http://www.site.ru/download.php?8dfs786gdfg
Тогда скрипту download.php остается только из таблицы выбрать файл по его псевдониму 8dfs786gdfg и это будет downloadedFile4.rar.
Вот и всего делов то.
Ну и раз в сутки просто по рандому или как угодно меняете поля alias в таблице.
Ответ отправил: Sea (статус: 4-ый класс)
Ответ отправлен: 23.06.2007, 23:59 Оценка за ответ: 5 Комментарий оценки: Супер!!!! Вот это да, так просто, блин, надо было просто мозгами пораскинуть и сам бы додумался! Спасибо!!!!!!
Отвечает: Lain
Здравствуйте, Chufrinov Vadim!
Мжно сделать чтобы ссылка менялась раз в сутки - для этого можно использовать идентификатор сессии(предварительно сделав его действительным в течении суток)
--------- Будьте мужественны - худшее впереди!
Ответ отправил: Lain (статус: 2-ой класс)
Ответ отправлен: 24.06.2007, 03:11 Оценка за ответ: 4 Комментарий оценки: Почти понятно, а как это сделать? Я вообще занимаюсь админством на сервере, а не вебмастерингом, но поручили это мне и вот теперь ломаю голову.... и себе и людям.
Отвечает: Шпилевский Евгений Васильевич
Здравствуйте, Chufrinov Vadim!
Могу предложить один способ, не скажу что он лучший, но возможно вам подойдет...
При создании ссылки генерируете ее вида http://site /download.php?id=dsfhsda32fhjk4sad42
Где в роли id будет выступать любая последовательность символов (можно использовать md5). Эту последовательность заносите в базу данных
-----------------------------------------------------
| id | path |
-----------------------------------------------------
|dsfhsda32fhjk4sad42hfkjsadf | files1.rar|
------------------------------------------------------
на странице download.php пишите код получения ссылки из базы, а затем нечто похожее
// в $path храниться получиная ссылка на файл
header("Content-type: application");
header('Content-Disposition: attachment; filename="1.rar"');
$f = fopen($path,'r');
while (!feof($f))
{
print fread($f,4096);
}
Ответ отправил: Шпилевский Евгений Васильевич (статус: 1-ый класс)
Ответ отправлен: 25.06.2007, 11:54 Оценка за ответ: 4 Комментарий оценки: Понял до слов "на странице download.php", а дльшекак то сложно.... Попробую конечно сделать.... А попроще ни как? В любом случае спасибо огромное, что откликнулись!