Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скачивание файлов при помощи скрипта
 
 автор: to4kaRU   (11.07.2005 в 16:50)   письмо автору
 
 

Всем привет!
В общем, суть проблемы такова: есть некоторый файл, инф-ция о котором храниться в БД. Есть ссылка, типа download.php?id=5. При переходе по ссылке, скрипт извлекает данные о файле с id=5, в том числе где он лежит. Какие заголовки нужно передать браузеру, чтобы он предложил сохранить файл? Или это решается другим способом?

Пробовал Location на файл, открывает пустую страницу, в адресной строке - точный путь к файлу. Пробовал Content-Disposition, пытается сохранить текущую html-страницу..
В общем, ничего не понимаю.. В чем может быть проблема?
Вот еще что интересно, при отправке заголовка Location, после открытия пустой страницы, если нажать ввод в адресной строке, где прописан полный пусть к файлу, выводится содержимое файла. Если вернуться на страницу со ссылкой и снова ее нажать, то она нормально срабатывает, предлагая сохранить файл...

   
 
 автор: cheops   (11.07.2005 в 18:51)   письмо автору
 
   для: to4kaRU   (11.07.2005 в 16:50)
 

А вы сразу после заголовков
<?php
header
("Content-Disposition: attachment; filename=$filename"); 
header("Content-type: application/octet-stream"); 
print 
$content
?>

Выводите содержимое файла.

   
 
 автор: to4kaRU   (12.07.2005 в 09:20)   письмо автору
 
   для: cheops   (11.07.2005 в 18:51)
 

Да, только делал это с помощью
readfile($filename)

Результат один и тот же.. что при указании функции, что без нее...

   
 
 автор: to4kaRU   (12.07.2005 в 10:05)   письмо автору
 
   для: to4kaRU   (12.07.2005 в 09:20)
 

Все, благодарю, проблема решена))
Если кому интересно

<?php
        $filename 
"/downloads/soft/".$soft['section']."/".$soft['file'];
        
header("Content-Description: File Transfer");
        
header("Content-Disposition: attachment; filename=\"".basename($filename)."\"");
        
header("Content-type: application/octet-stream");
        
readfile($filename);
?>


Сам толком не разобрался что было, вчера какие только варианты не пробовал и этот в том числе...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования