|
|
|
|
|
для: Eugene77
(18.08.2008 в 20:09)
| | Кстати, вот цитата из мануала:
The maximum execution time is not affected by system calls, stream operations etc. Please see the set_time_limit() function for more details. | |
|
|
|
|
|
|
|
для: Eugene77
(18.08.2008 в 18:45)
| | >>Простейший пример (не поддерживающий докачку), можно найти в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=50795.
>
>Такой скрипт будет завершаться через 30 секунд на большинстве хостингов, независимо закончена скачивание или нет. Да и ресурсы дополнительные нужны для PHP-скрипта...
>Может быть возможно инициализировать сессию и положить такой файл .htaccess, в директорию с музыкальным файлом, который позволит его скачивать только тому, у кого идентификатор сессии будет соответствовать?
Это не так, время передачи данных не учитывается в 30 секундах машинного времени, отводимого под выполнение скрипта. | |
|
|
|
|
|
|
|
для: Eugene77
(18.08.2008 в 20:09)
| | Нет. Если скрипт завершился - то это конец :)
echo file_get_contents() всё утянет в RAM и по-просту уже из-за этого можно не дождаться содержимого.
А readfile() вроде как не создаёт какой-либо особой нагрузки на процессор и RAM, что и видимо позволяет не учитывать время отдачи содержимого за execution time. То есть на самом деле скрипт будет выполняться дольше max_execution_time. Впрочем, такое часто может происходить. Например, время выполнения SQL-запросов тоже не учитывается.
Впрочем, Вы можете проверить сами. Сделайте max_execution_time = 1 и попытайтесь отдать большой файл двумя способами. | |
|
|
|
|
|
|
|
для: BinLaden
(18.08.2008 в 19:48)
| | >Надо просто заменить echo file_get_contents ... на readfile().
Вы хотите сказать, что readfile() продолжает работать и после завершения скрипта? | |
|
|
|
|
|
|
|
для: Владимир55
(18.08.2008 в 19:46)
| | Надо просто заменить echo file_get_contents ... на readfile(). | |
|
|
|
|
|
|
|
для: Eugene77
(18.08.2008 в 18:45)
| | "Такой скрипт будет завершаться через 30 секунд "
Это верно! Тогда надо дополнить его set_time_limit() | |
|
|
|
|
|
|
|
для: cheops
(18.08.2008 в 00:17)
| | >Простейший пример (не поддерживающий докачку), можно найти в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=50795.
Такой скрипт будет завершаться через 30 секунд на большинстве хостингов, независимо закончена скачивание или нет. Да и ресурсы дополнительные нужны для PHP-скрипта...
Может быть возможно инициализировать сессию и положить такой файл .htaccess, в директорию с музыкальным файлом, который позволит его скачивать только тому, у кого идентификатор сессии будет соответствовать? | |
|
|
|
|
|
|
|
для: Владимир55
(17.08.2008 в 23:35)
| | Вы даете пользователю ссылку на одно имя файла, реально несуществующее, а скрипт считывает данные из другого реального файла и отдает пользователю. А отданную ссылку вы можете любым способом проверить на валидность (срок действия, IP и т.п.), это уже другой вопрос. | |
|
|
|
|
|
|
|
для: Владимир55
(17.08.2008 в 23:35)
| | >"Закрыть директорию relax_music для прямого обращения"
>Но если о ней никто не будет знать, то это не обязательно?
В общем да, но закрыть директорию при помощи .htaccess дело пары секунд, достаточно прописать в нем одну строку
>"в скрипте можно любую логику реализовать"
>Не могу даже предположить, какую логику? Например?
Простейший пример (не поддерживающий докачку), можно найти в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=50795. | |
|
|
|
|
|
|
|
для: Владимир55
(17.08.2008 в 23:56)
| | Поищите примеры антилич-скриптов и разберитесь на их примере, как оно обычно работает. | |
|
|
|
|