Не качает файлы а выводит их - PHP4. Help!

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Не качает файлы а выводит их - PHP4. Help!

Непрочитанное сообщение Мишаня » 2011-03-03 17:55:16

Добрый день. Столкнулся с такой проблемой:
Нужно по ссылке просто скачать файл лежащий в

Код: Выделить всё

$fd = "/usr/local/www/data/tmp/files/";
все файлы я считываю просто функцией

Код: Выделить всё

if ($handle = opendir('/usr/local/www/data/tmp/files/')) {
$fs=filesize($file);
      while (false !== ($file = readdir($handle))) {
В чем собственно проблема - файлы не качаются при нажатии на ссылку, а выводятся в бинарном виде.
Значения в функции fopen() "r" и "rb " значения никакого не имеют (исход одинаковый).

Как сделать, чтобы по нажатию на ссылку, соответствующий файл просто выкачивался.
Стоит PHP4. Ниже сам код: $id - это названия файла.

Код: Выделить всё

$filename = "/usr/local/www/data/tmp/files/$id";
$ftime = date("D, d M Y H:i:s T", filemtime($filename)); 
$fp = fopen($filename, "rb");
$fs = filesize($filename);
//$buf = fread($fp, $fs);

$content = fread($fp, filesize($filename)); 

header("Connection: close");
header("Content-Disposition: attachment; filename=$filename"); 
header("Last-Modified: $ftime"); 
header("Accept-Ranges: bytes"); 
header("Content-Length: ".$fs); 
header("Content-type: application/force-download"); 

print $content; 
exit();

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35418
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Не качает файлы а выводит их - PHP4. Help!

Непрочитанное сообщение Alex Keda » 2011-03-04 9:37:50

заголовки смотрите что отдаются до файла
Убей их всех! Бог потом рассортирует...

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не качает файлы а выводит их - PHP4. Help!

Непрочитанное сообщение Мишаня » 2011-03-04 9:56:13

В каком смысле?
Дело в том, что это один файл, в нем формочка, при нажатии сам перечитывает себя с кодом который выше я привел.

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не качает файлы а выводит их - PHP4. Help!

Непрочитанное сообщение Мишаня » 2011-03-04 10:53:58

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

Код: Выделить всё

if (!file_exists($filename)) die('Файл не найден');
И постоянно возвращает Файл не найден, хотя с правами все гуд. Без проверки качает файл, но он нулевого размера.

Что интересно, на один каталог выше все работает отлично, и качает нормально и файлы находит.
$filename - полный путь к файлу.

Мишаня
мл. сержант
Сообщения: 119
Зарегистрирован: 2009-02-11 19:10:48

Re: Не качает файлы а выводит их - PHP4. Help!

Непрочитанное сообщение Мишаня » 2011-03-04 11:27:06

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