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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с скачиванием файла ... клеинт получает битый файл 
:(
    Опции темы
jeans1986
Дата 22.12.2007, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



У меня файл выдаётся скриптом 
Код

$name = "1.jpg"
$down = "image.jpg"
$fp = fopen($name, 'rb');

header( "Content-Disposition: attachment; filename=\"$down\"");  
header("Content-Type: application/octet-stream; name=\"$down\"");  
header("Content-Length: " . filesize($name));

fpassthru($fp);


Почему то файл выдаётся испорченным. Если я качаю файл по прямой ссылке то всё работает а если через этот скрипт то файл битый. В чём можетбыть проблема и как можно пользователю выдать файл чтоб он не зналд его реального пути. Заранее благодарю.
PM MAIL   Вверх
DrWeb
Дата 23.12.2007, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Создавай временную папку в которую копируй файл для качки,а когда юзер скачает его,то удаляй файл и папку.можно перекидывать с одной папки в другую и т.д.ток потом удалять их, а имя файла генерируй все время новое как и названия папок.в папку с оригинальными файлами кинь файл .htaccess в котром напиши Deny from all ну и названия файлов позаковырестей придумайsmile
PM MAIL WWW   Вверх
skyboy
Дата 23.12.2007, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(DrWeb @  22.12.2007,  23:10 Найти цитируемый пост)
Создавай временную папку в которую копируй файл для качки

разве что символьную ссылку создавать. но это будет работать только на *nix системах. 
а то ты представь копирование файла в 20 ГБ для 10 пользователей.
PM MAIL   Вверх
flashaa
Дата 23.12.2007, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Жпег скриптом? Делал всего двумя строками, работает отлично:

Код

header('Content-type: image/jpeg');
echo file_get_contents($file);


Это сообщение отредактировал(а) flashaa - 23.12.2007, 15:22
PM MAIL   Вверх
FractalizeR
Дата 27.12.2007, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 27.12.2007
Где: Россия/Москва

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



Мне кажется, удобнее пользоваться readfile. Он как раз для этой цели предназначен. 


--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
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.0878 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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