Страница 1 из 1

Не качает файлы а выводит их - 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();

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

Добавлено: 2011-03-04 9:37:50
Alex Keda
заголовки смотрите что отдаются до файла

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

Добавлено: 2011-03-04 9:56:13
Мишаня
В каком смысле?
Дело в том, что это один файл, в нем формочка, при нажатии сам перечитывает себя с кодом который выше я привел.

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

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

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

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

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

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

Добавлено: 2011-03-04 11:27:06
Мишаня
Все решилось, спасибо большое за помощь и наводку на мысль.
Дело было в том, что я передавал только имя файла, а не полный путь. В этом и была проблема.