Создание временного файла

12
G2
На сайте с 12.01.2013
Offline
36
949

Помогите пожалуйста, нужно создать временный файл с уникальным именем, а потом этот файл отдать плееру с расширением m3u, и чтоб этот файл работал определенное время, а потом удалялся. Например пользователь заходит на страницу, ему в плеер подставляется этот временно созданный файл и потом через некоторое время этот файл удаляется или удаляется когда пользователь покинул страницу.

Я знаю что для того чтоб создать временный файл нужно использовать функцию tmpfile, а для того чтоб создать файл с уникальным именем нужно использовать функцию tempnam. Но вот как эти две функции склеить в одну, чтоб создавался временный уникальный файл, а потом отдавался плееру. Помогите реализовать такую задачу ?

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#1

Из мана по ПХП(функция тмпфайл)

Создаёт временный файл с уникальным именем, открывая его в режиме чтения и записи (w+), и возвращает файловый указатель таким же образом, как это делает fopen(). Этот файл автоматически удаляется после закрытия (использования fclose()) или после завершения работы скрипта).

-Мораль?

-Не пойдет!

-fuuuu😒

-bugaga😂

Обращение к таким файлам делаем через один единственный скрипт. В этом скрипте записываем(в БД, в файлы, да хоть в блокнот:)) время обращения к файлу.

Делаем еще 1 скрипт, который будет выбирать из источника инфы(куда мы писали информацию о времени обращения) имена файлов, у которых разница между последним обращением и текущей временной меткой больше 30 минут. Скрипт садит на крон с частотой "раз в час"

Числа условны. Выбирайте для себя оптимальные.

Подпись))
G2
На сайте с 12.01.2013
Offline
36
#2

а можно сделать типа так, создать базу с столбцами id,file_name,md5_name.

Там где file_name - настоящее имя файла

Там где md5_name - имя сгенерированное с помощью md5

И потом сделать так чтоб имя которое хранится в md5_name соответствовало имени в file_name, но плееру отдавать зашифрованное имя файла и чтоб при этом воспроизводилось видео. Можно так сделать, как вы думаете ?

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#3

-Мы думаем, можно. Во всяком случае религия и внутренние убеждения нам позволяют😂

-И это правиль-ь-ь-ь-ьный ответ.

G2
На сайте с 12.01.2013
Offline
36
#4

хорошо, а как мне сделать так чтоб то имя файла которое сгенерируется соответствовало реальному имени файла, я никак не могу понять какой код мне нужно для этого прописать.

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#5

ОМГ

скрипт парсит $_SERVER['REQUEST_URI'], получает из него MD5имяФайла, ищет в БД соответствующее ему настоящее имя файла, читает из каталога этот файл и отдает юзеру.

Вы хотите получить знания(понять приниципы работы и т.д.) или готовый код?

G2
На сайте с 12.01.2013
Offline
36
#6

хочу готовый скрипт, а потом разберусь как он работает, если Вам не сложно.

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#7

Почему-то вспомнилось...

Вообщем у Губермана в прозе есть рассказ.

Там мама ругала сына, потому что его завтраком был стакан водки.

Ответ сына на мамино недовольство: "Мама ну кто же с утра кофе с булочкой осилит!"

Пятница же, как я Вам такое напишу? Там много букаф;)

G2
На сайте с 12.01.2013
Offline
36
#8

я вас понимаю, а если я сам попробую сделать вы мне поможете если что ?

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#9

Если "помощь" это не "напиши за меня" - не вопрос. Да думаю не только я, но и другие серчане готовы помочь.

S
На сайте с 03.07.2009
Offline
41
#10

А зачем вообще так напрягать сервер, Думаю наиболее оптимальным вариантом будет, написать класс в конструкторе которого мы создаем алиас (символическую ссылку) на нужный нам файл со случайным именем, а в деструкторе уничтожаем этот алиас. А вот как заставить объект этого класса прожить время пока пользователь смотрит фильм или слушает музыку, тут надо подумать.

Кодинг на PHP. Разработка расширений под Joomla.
12

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