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 :: Скачивание изображения пользователем
Но есть проблема - в изображение прописывается код страницы, хотя буфер очищаю. Нельзя ли как-нибудь сделать это, и обойтись без создания отдельного скрипта?
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Т.е. хотите отдавать файл по запросу пользователя тем же скритом, что и страницу отдаёт?
Тогда с помощью условия разграничьте вывод текста от файла
----- PostgreSQL DBA
Roler
Отправлено: 03 Августа, 2009 - 18:08:03
Посетитель
Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008 Откуда: Россия
Помог: 1 раз(а)
Мелкий
Условием там проблематично, но у меня весь вывод буферизуется, пытался схитрить, но не получается. Пусть бы даже открывалось отдельным белым окном, без разницы, но через тот же скрипт.
Мелкий
Отправлено: 03 Августа, 2009 - 20:00:21
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
А почему проблематично условие вставить? Всё равно же скрипту надо указывать явно, когду ему нужно отдавать картинку, а не текст.
С буферизацией вывод не работал пока...
----- PostgreSQL DBA
Roler
Отправлено: 03 Августа, 2009 - 20:22:15
Посетитель
Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008 Откуда: Россия
Помог: 1 раз(а)
У меня по сути один скрипт - index.php, в котором всё и инклудится. И до модуля куча всего выводится.
JustUserR
Отправлено: 03 Августа, 2009 - 21:58:13
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Roler Ну вставьте ДО включения модуля... На худой конец вы можете в самом начала index.php вставить условие выдачи картинки и exit в конце выполения условия
И кстати к слову сказать вы можете заметить что ваша любимая буферизация это не полезно а вредно ибо у вас не структуирован код как надо раз целая проблема добавить условие
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Roler
Отправлено: 04 Августа, 2009 - 08:33:37
Посетитель
Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008 Откуда: Россия
Помог: 1 раз(а)
JustUserR
Это не из-за буферизации, а из-за структуры движка. И она мне нравится, добавлять это непонятное условие ради одного модуля - бр...
Roler
Отправлено: 05 Августа, 2009 - 09:37:29
Посетитель
Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008 Откуда: Россия
Помог: 1 раз(а)
Так, ну что-то я вроде сделал, на локали скачивается и работает. Но, когда я поставил это на сайте, то заметил, что скачивается какая-то недокартинка весом примерно в 35 кило, и её либо нельзя открыть, либо там половины(или даже всей) нету.
Код:
Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008 Откуда: Россия
Помог: 1 раз(а)
Мелкий
Случайно от старого осталось. Спасибо за замечание о проверке, добавил. Но всё равно не работает.
Что самое интересное, когда я попробовал скачать это не со страницы, а по прямой ссылке - всё сработало.
Вообщем, повозился, подвигал - вроде заработало и на сервере. Хотя, я всё равно ничего не понимаю.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Roler Наверное дело в том что все функции ввода/вывода могут работаь и в текстовм и в двоичном режиме (Картинкам нужен разумеется двоичный)
В Perlе есть специальная функция binmode() а в PHP уже не знаю
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Champion
Отправлено: 05 Августа, 2009 - 14:40:01
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
JustUserR пишет:
В Perlе есть специальная функция binmode() а в PHP уже не знаю
Сделайте кто-нибудь раздел про perl и отдайте его на растерзание JustUsery
Roler
Отправлено: 05 Августа, 2009 - 16:54:02
Посетитель
Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008 Откуда: Россия
Помог: 1 раз(а)
JustUserR
Я файл открываю с ключом rb, то есть бинарный
Дело в чём-то другом было.
Champion
Не надо, хоть здесь их нет
JustUserR
Отправлено: 06 Августа, 2009 - 14:04:34
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Цитата:
Я файл открываю с ключом rb, то есть бинарный
Дело в чём-то другом было.
А причем здесь открывание файла
Уж раз зашел разговор то я скажу - в Perlе функция binmode по умолчанию вовсе не меняет режим открытия файла (Хотя может менять если настроить) а меняет ПОТОК ВЫВОДА то есть проводя аналогию с PHP эта функция бы немного изменила работу оператора echo - я даже уверен что в закромах PHP такая функция имеется
По существу проблема происходит изза следующего - как бы вы не открывали файл echo все равно выводит в текстовом режиме а по какимто внутренним причинам при выводе далеко не всех а только некоторых изображений выводится только обрезанный кусок несколько килобайт
Опять попрошу меня не ругать (Плизз но проведите эксперимент если хотите - напите простенький скрипт на Perl который выводит одну из тех картинок которая у вас выводилась с ошибкой и попробкйте вывести с binmode и без binmode и как говорится feel the difference
PS Этот эеефект с катинками проявляется толлько в определенным картинках и при определеныхт настройках Apache но binmode решает эту проблему на корню
Champion пишет:
Сделайте кто-нибудь раздел про perl и отдайте его на растерзание JustUsery
Да такие разговоры велись - если повезет то такой раздел когданибудь появится Roler А вы что имеете против?
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.