Передача на закачку файла с другим именем

  • Автор темы Bloody Eagle
  • Дата начала

Bloody Eagle

Guest
Передача на закачку файла с другим именем

Здравствуйте.

Как можно реализовать следующую вещь:
на сервере есть файл file.ext
Пользователь нажимает ссылку или кнопку скачать, и ему пересылается этот файл в виде file1.ext1, т.е. файл передаётся с другим именем и расширением.

Я так думаю это можно замутить через mod_rewrite, но никак не соображу как. А может как нибудь это можно провернуть с помощью php?

Заранее спасибо за ответы.
 

Tor

Новичок
мод_реврайт тут ни при чем
отдавай правильные заголовки и все будет хорошо
 

Bloody Eagle

Guest
Правильные - это какие?
Я так понимаю если я передам

Header("Location:file.ext");

то и у юзверю он будет передаваться с таким именем...
Или я что то не понимаю?
 

Tor

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

Bloody Eagle

Guest
Это что то типа этого:
PHP:
Header("Content-type: application/pdf");
$cont = fopen("file.ext", 'r');
echo $cont;
//Юзер получает pdf'ку
или как? Если нет, то можно ссылочку на хоть какой то пример?
 

Tor

Новичок
во-первых, перечитай ВЕСЬ топик
во-вторых, здесь и так уже много написано
в-третьих, все нужное тебе есть в поиске по форуму
 

Bloody Eagle

Guest
сделал так
PHP:
  header("Content-Disposition: attachment; filename=1.jpg; "
         ."Content-Type: application/x-force-download; name=123.doc;".
         "Content-Transfer-Encoding: binary; Content-Length: 33294;");
   $fp=fopen("1.jpg", "rb");
   fpassthru($fp);
один чёрт - выдаёт файл с исходным именем, т.е. 1.jpg, а мне нужно чтобы он выдавал на скачку 123.doc
 

Tor

Новичок
скорее наоборот, я НЕ хочу быть никем, тем более Фанатом
 

Bloody Eagle

Guest
Всем спасибо - допёр....
Звиняйте если что не так...

З.Ы. Я не тупой, я ещё учусь...
 

Kelkos

Сам себе программер
Вечерело.. а бабки всё падали и падали.. (с)
Решение уже сказали человеку.. почитай посты..
 

Bloody Eagle

Guest
PHP:
header("Content-Disposition: attachment; filename=123.doc; "
         ."Content-Type: application/x-force-download;".
         "Content-Transfer-Encoding: binary; Content-Length: 33294;");
   $fp=fopen("1.jpg", "rb");
   fpassthru($fp);
   exit;
соответственно вместо моих значений подставлаешь свои....
 

Мутник

Новичок
Bloody Eagle

тока так немного красивееи читабельнее

PHP:
header("Content-Disposition: attachment; filename=123.doc;"); 
header("Content-Type: application/x-force-download;");
header("Content-Transfer-Encoding: binary; Content-Length: 33294;"); 
$fp=fopen("1.jpg", "rb"); 
fpassthru($fp); 
exit;
 
Сверху