Просмотр полной версии : PHP: организование временной ссылки
Доброе время суток!
Как организовать временную ссылку на файл(*.zip, *.rar, *.mp3 & etc.) с помощью PHP?
Сделать так, примерно такая ссылка: www.site.com/downloads/file.zip должен работать в течение часа или сделать рабочим до завершения скачивания файла.
Игорь Бронников
07.05.2008, 17:13
Вариантов много.
1.Можно скриптом менять .htaccess и привязывать доступ к файлу по IP.
2.Можно отдавать скриптом, но это ненужная нагрузка сервер, и вряд-ли будет работать докачка, если хорошенько не постараться.
3.Можно копировать файл в папку со случайным именем и давать на него ссылку
Вариантов много.
1.Можно скриптом менять .htaccess и привязывать доступ к файлу по IP.
2.Можно отдавать скриптом, но это ненужная нагрузка сервер, и вряд-ли будет работать докачка, если хорошенько не постараться.
3.Можно копировать файл в папку со случайным именем и давать на него ссылку
Я хочу выбрать 3-способ. Но как удалить после скачивания тот папку?
Игорь Бронников
07.05.2008, 17:24
Вариантов много.
1.Можно скриптом менять .htaccess и привязывать доступ к файлу по IP.
2.Можно отдавать скриптом, но это ненужная нагрузка сервер, и вряд-ли будет работать докачка, если хорошенько не постараться.
3.Можно копировать файл в папку со случайным именем и давать на него ссылку
Я хочу выбрать 3-способ. Но как удалить после скачивания тот папку?
rmdir()
Имя папки видимо придется запомнить в базе. И время, когда папку нужно удалить.
Если есть возможность использовать lighttpd для скачивания - можете использовать его модуль mod_secdownload (http://trac.lighttpd.net/trac/wiki/HowToFightDeepLinking).
Ruslan Juldashev
07.05.2008, 19:39
Как организовать временную ссылку на файл(*.zip, *.rar, *.mp3 & etc.) с помощью PHP?
http://habrahabr.ru/blog/php/38954.html
Описывается проект создания аналога webfile.ru, там также есть решение Вашей проблемы.
2.Можно отдавать скриптом, но это ненужная нагрузка сервер, и вряд-ли будет работать докачка, если хорошенько не постараться.
Я присоединяюсь к этому варианту. Нагрузка на сервер не такая уж и страшная да и решатся проблема двумя страницами кода (тут же и запись статистики, и еще кое-какая лабуда)
2.Можно отдавать скриптом, но это ненужная нагрузка сервер, и вряд-ли будет работать докачка, если хорошенько не постараться.
Я присоединяюсь к этому варианту. Нагрузка на сервер не такая уж и страшная да и решатся проблема двумя страницами кода (тут же и запись статистики, и еще кое-какая лабуда)
А если сотня диалап юзеров, которые будут час качать 20-меговый файл?
Всем спасибо!!!
rmdir()
Имя папки видимо придется запомнить в базе. И время, когда папку нужно удалить.
Буду создавать таблицу dload_info, полями file_path, unlik_time. Этого я понял. Тогда надо писать постоянно-проверяющий скприпт для таблиц dload_info. А как это делается?
Игорь Бронников
08.05.2008, 09:13
Всем спасибо!!!
rmdir()
Имя папки видимо придется запомнить в базе. И время, когда папку нужно удалить.
Буду создавать таблицу dload_info, полями file_path, unlik_time. Этого я понял. Тогда надо писать постоянно-проверяющий скприпт для таблиц dload_info. А как это делается?
Можно запускать проверяющий скрипт по CRON.
Если нагрузка небольщая, можно проверять и ненужные удалять при каждом запуске скрипта.
Можно запускать проверяющий скрипт по CRON.
Если нагрузка небольщая, можно проверять и ненужные удалять при каждом запуске скрипта.
Что такое CRON? Покажите пожалуйста одинь пример, если не трудно.
Игорь Бронников
08.05.2008, 09:54
Можно запускать проверяющий скрипт по CRON.
Если нагрузка небольщая, можно проверять и ненужные удалять при каждом запуске скрипта.
Что такое CRON? Покажите пожалуйста одинь пример, если не трудно.
CRON - планировщик задач в UNIX-образных операционных системах, использующийся для периодического выполнения заданий в заданное время.
http://ru.wikipedia.org/wiki/Cron
2 Игорь Бронников
как я понял, этот CRON зависимо от хостеров. Если так, такой способ мне не подходять...
Игорь Бронников
08.05.2008, 10:46
2 Игорь Бронников
как я понял, этот CRON зависимо от хостеров. Если так, такой способ мне не подходять...
Можно сделать "эмуляцию" CRON.
Например заставить Google периодически проверять /cron/rss.php,
(подписавшись на /cron/rss.php).
rss.php будет отдавать валидный RSS и заодно делать нужную работу...
Можно сделать "эмуляцию" CRON.
Например заставить Google периодически проверять /cron/rss.php,
(подписавшись на /cron/rss.php).
rss.php будет отдавать валидный RSS и заодно делать нужную работу...
Жесть (-; Здорово придумано.
2 Игорь Бронников
Вы имеете ввиду Google Reader?
Игорь Бронников
08.05.2008, 11:17
2 Игорь Бронников
Вы имеете ввиду Google Reader?
Да.
Это Google Reader взял для примера.
Ресурсов, периодически проверяющих сайт много.
Тот-же uptime.ru
передача данных через скрипт действительно жрёт просто огромное количество ресурсов, проверено в боевых условиях.
единственный адекватный вариант - http://habrahabr.ru/blog/php/38954.html, как уже сказано выше.
vBulletin® v3.8.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot