Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Неправельное расширение скачиваемых файлов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
AndrEzKo
Отправлено: 19 Сентября, 2009 - 17:15:08
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




На сайте скачиваются картинки через приведённый ниже код, однако некоторые из jpg и gif файлов скачиваются почему-то в формате htm, причём имя остаётся правельное и внутреннее файла тоже.
PHP:
скопировать код в буфер обмена
  1. <?
  2. $file = $_POST["complete"];
  3. header ("Content-Type: application/octet-stream");
  4. header ("Accept-Ranges: bytes");
  5. header ("Content-Length: ".filesize($file));
  6. header ("Content-Disposition:  attachment; filename=".$file);
  7. readfile($file);
  8. ?>

Насколько я понимаю, header отвечает за это...
Вобщем что-то в коде не хватает или же может есть другая альтернатива этого кода?
 
 Top
Nestor
Отправлено: 19 Сентября, 2009 - 19:07:00
Post Id



Частый гость


Покинул форум
Сообщений всего: 220
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




какое значение $_POST["complete"] ?


-----
Aurus CMS
 
 Top
AndrEzKo
Отправлено: 19 Сентября, 2009 - 19:22:47
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




адрес правельный, я его много раз проверял, да и сама картинка та скачиватся, только не с тем расширением почему-то. К примеру указывает на файл 3.jpg а скачивается 3.htm, причём переименовав в 3.jpg картинка открыватся без проблем. Кстати я только что заметил, что это происходит через Opera10, а через IE всё нормально работает. Через мазилу не проверял.
Если удалить строчки
PHP:
скопировать код в буфер обмена
  1. header ("Content-Type: application/octet-stream");
  2. header ("Accept-Ranges: bytes");
то все картинки будут скачиваться через htm
 
 Top
movEAX
Отправлено: 20 Сентября, 2009 - 10:40:39
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




CODE (text):
скопировать код в буфер обмена
  1. $file = $_POST["complete"].'.jpg';

попробуй так.

(Отредактировано автором: 20 Сентября, 2009 - 10:40:54)



-----
армия.. самое убогое место
 
 Top
AndrEzKo
Отправлено: 20 Сентября, 2009 - 15:51:11
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Это называется "оригинально и со вкусом" но увы, так не получается, он тогда пытается работать с файлом 3.jpg.jpg (не htm), которого не существует. А если прописать это расширение на выводе
CODE (text):
скопировать код в буфер обмена
  1. header ("Content-Disposition:  attachment; filename=".$file.".jpg");
, то попытается скачать 3.jpg.htm
Насколько я понимаю, header отвечает за это, надо ещё какие-то header подписать (а то так он толи структуру файла не понимает толи ещё что-то).
Неужели никто не знает?
 
 Top
JustUserR
Отправлено: 21 Сентября, 2009 - 11:42:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




AndrEzKo Вероятно это сам Apachr глючит изза возможных ошибок в файле mime.types в конфигурации его самого
А может дело в вашем браузере и там неправильно сопоставлены типы (Например octet-streamy почемуто сопоставлено расширение htm)


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB