Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP - как подменить имя файла для закачки?

7.4K
05 мая 2007 года
Triaffer
49 / / 30.07.2006
Пишу видеоархив.
Под файлы выделена одна таблица mysql - в ней помимо остальных полей есть id записи и filename - начальное имя файла, то есть такое, какое было при поступлении файла на сервер.
На сервере же файлы хранятся под другими именами, к примеру video1.tmp, video2.tmp ... по правилу "video".$id.".tmp"
И когда пользователь захочет скачать файл себе с сервера, такие файлы он и получит (video1.tmp, video2.tmp ... ).

ПРОБЛЕМА: как сделать так, чтобы с сервера выкачивался к примеру файл video2.tmp, а к пользователю поступил к примеру scarymovie.avi (имя хранится в бд)?
То есть как подменить имя файла при закачке пользователю?:confused:

Может есть какие то функции в стиле
copyxxx(old_name, new_name, ...)
244
05 мая 2007 года
UAS
2.0K / / 19.07.2006
А как делается на музык.сайтах?? Они просто берут и копируют мелодию в какую-то рандомную директорию, и потом дают ссылку скачивания из этой папки. Потом через некоторое время эта папка и файлы удаляются
7.4K
05 мая 2007 года
Triaffer
49 / / 30.07.2006
Они так поступают, чтобы умельцы бесплатно не копировали музыку с их серверов :)
Тут же свободный видеоархив.
Как вариант, конечно, пойдет - но таких вариантов много придумать можно. Смысл в том, чтобы все реализовать одним скриптом и без лишних файлов, папок и тп
10K
05 мая 2007 года
jwagra
62 / / 23.08.2006
вариант который UASа хорош для небольшого файло,
а тут же придецца копии гиговых фильмецов плодить..-много места и %проца.
как вам энтот вариант: =)
 
Код:
<?
  $file = 'old.tmp';
  $ext = 'tmp';
  $vid = 'avi';
  $new = str_replace($ext, $vid, $file);
  header("Content-Disposition: attachment; filename=$new");
  header("Content-Type: application/x-force-download; name=\"$new\"");
  exit(file_get_contents($file));
?>

не знаю будет ли робить), на локалке для малых файло робит)))

по-моему лучше сразу файл нада было обзывать с родными расширениями..
и может стоит не на пхп реализовывать.
7.4K
05 мая 2007 года
Triaffer
49 / / 30.07.2006
to jwagra
Да, это как раз то, что надо. Подробнее тут:
http://www.php.ru/manual/function.header.html

Всем спасибо
Тема закрыта
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог