Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> redirect после readfile 
V
    Опции темы
studentigor
Дата 21.11.2011, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



Всем привет.
Вот столкнулся с таким делом.
нужно отдать файл на скачивание, вот так
Код

function down($filename){
header ("Content-Type: application/octet-stream");
    header ("Accept-Ranges: bytes");
    header ("Content-Length: ". filesize ($filename));
    header ("Content-Disposition: attachment; filename=".$filename);
    readfile ($filename);
}


и после этого сделать редирект. но у меня не получается. пробую джаваскриптом, но если делаю раньше - не скачивает.
а после  readfile вообще ничего не делает.

подскажите как сделать?


PM MAIL   Вверх
bars80080
Дата 21.11.2011, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а какой может быть редирект для скачиваемого файла?
может вам надо перезагрузить страницу, на которой была нажата ссылка скачивания файла?
PM MAIL WWW   Вверх
studentigor
Дата 21.11.2011, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



мне нужно сделать редирект после того как файл скачан.
попробовал сделать так.
сделал редирект на файл download.php
Код

<?php
session_start();
    $filename = $_SESSION['filename'];
    header ("Content-Type: application/octet-stream");
    header ("Accept-Ranges: bytes");
    header ("Content-Length: ". filesize ($filename));
    header ("Content-Disposition: attachment; filename=".$filename);
    readfile ($filename);    

?>
<html>
<body>
<iframe width="1" height="1" src="download.php" onLoad="alert('asd');"></iframe>
</body>
</html>

и при загрузке фрейма сделать редирект. но почему-то не срабатывает.
Файл загружается, но не алерт не редирект не происходит.
да и когда выскакивает окошко, которое предлагает открыть или сохранить, url не меняется на download.php

PM MAIL   Вверх
-=Ustas=-
Дата 21.11.2011, 14:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



studentigor, 
Цитата(studentigor @  21.11.2011,  14:31 Найти цитируемый пост)
и при загрузке фрейма сделать редирект. но почему-то не срабатывает.

Потому что у тебя Content-Type соотвествующий.
Так как ты хочешь - не получиться сделать.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
studentigor
Дата 21.11.2011, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



-=Ustas=- я сделал. я разделил html и php.
делаю редирект на download.html где лежит 
Код

<html>
<body>
<iframe width="1" height="1" src="download.php" onLoad="window.location='...'"></iframe>
</body>
</html>

и отдельно download.php
Код

<?php
session_start();
    $filename = $_SESSION['filename'];
    header ("Content-Type: application/octet-stream");
    header ("Accept-Ranges: bytes");
    header ("Content-Length: ". filesize ($filename));
    header ("Content-Disposition: attachment; filename=".$filename);
    readfile ($filename);    
?>

и сработало.

всем спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0546 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.