Перейти к содержимому


Партнерская программа Kredov

Проблема с header

#1 Kuchuluk

Kuchuluk
  • Пользователь
  • 315 сообщений
  • Репутация: 5
0

Отправлено 24 Март 2013 - 21:01

у пользователя на сайте есть аватар. На странице пользователя нужно выводить уменьшенный размер аватара, я уменьшаю его таким образом
$src = "sys-images/no-avatar.gif"; // исходный файл
   $size = getimagesize($src);
   header("Content-type: {$size['mime']}");
   $icfunc = imagecreatefromgif($src);
   $idest = imagecreatetruecolor(60,60);
   $im = imagecopyresampled ($idest, $icfunc, 0, 0, 0, 0, 60, 60, $size[0], $size[1]);
   var_dump($im);
   $small_ava = imagegif($idest);
return $small_ava;
потом этот метод применяю в html документе
$avatar = $us_info->selAva();
   echo $avatar;
выдает ошибку Warning: Cannot modify header information - headers already sent by (output started at Z:homelocalhostwwwpartydoctype-head.php:10) in Z:homelocalhostwwwpartyclassesuser_info.php on line 40 ... Я знаю что header нужно выполнять до вывода в браузер, но мне нужно выводить маленький аватар именно в этом месте документа. Как можно обойти эту проблему? Я пробовал сначала вызывать метод в самом начале документа, а выводить там, где нужно, но тогда вообще пустая страница выводится. Как с этим heder-ом быть? Может вместо нее есть другая функция для отправки заголовков, кто знает?

 

 

  • 0

#2 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 25 Март 2013 - 00:02

уже обсуждалась такая проблема касательно функции header, читаем вот тут

я вот только не понял, если известно местоположение этой картинки, почему не использовать тег img и в нем изменить размер картинки?
  • 0

#3 Kuchuluk

Kuchuluk
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 5

Отправлено 25 Март 2013 - 00:22

я вот только не понял, если известно местоположение этой картинки, почему не использовать тег img и в нем изменить размер картинки?

в тегах то можно прописать размеры в пикселях только один раз. а соотношение длины и ширины у миниатюры может быть разным в зависимости от соотношения длины и ширины реальной фотографии. Этот скрипт я еще дорабатывать буду, чтобы длина и ширина миниатюры вычислялись, просто я сейчас на этом заступорился.
  • 0

#4 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 25 Март 2013 - 00:53

а соотношение длины и ширины у миниатюры может быть разным в зависимости от соотношения длины и ширины реальной фотографии

я делаю так:
img {
max-width: 100px;
max-height: 100px;
}

в результате ширина и высота будут изменены пропорционально оригиналу

и еще один нюанс, твой скрипт может не работать на некоторых серверах, так как использование функция типа imagecreatefromgif подразумевает сборку PHP с библиотекой GD

P.S. я ни в чем не убеждаю, а предлагаю свой вариант решения :)
  • 0

#5 Kuchuluk

Kuchuluk
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 5

Отправлено 25 Март 2013 - 11:24

так а если картинка не квадратная, а прямоугольная?


  • 0

#6 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 25 Март 2013 - 11:47

пропорции все равно будут сохранятся, ты попробуй, поэкспериментируй
с этим

img {
max-width: 100px;
max-height: 100px;
}

здесь 100px это чисто условно, можешь выбрать другие значения
  • 1

#7 Kuchuluk

Kuchuluk
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 5

Отправлено 25 Март 2013 - 12:40

спасибо, попробую


  • 0

#8 Kuchuluk

Kuchuluk
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 5

Отправлено 25 Март 2013 - 20:19

isvetlichniy, а если загружаемой фотографии сразу делать и сохранять уменьшенную копию при загрузке, и под эти уменьшенные копии сделать отдельную таблицу в базе? или так не делают на сайтах?
  • 0

#9 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 25 Март 2013 - 22:25

тоже вариант, это будет даже лучше.Хотя все зависит от нагрузки на сайт.

а второе я же не знаю о каком проекте идет речь, о его возможностях и требованиях, поэтому и предложил максимально простой вариант


  • 0

#10 html-ka

html-ka
  • Пользователь
  • 455 сообщений
  • Репутация: 82

Отправлено 26 Март 2013 - 15:38

не совсем понимаю, а зачем в эту функцию header пихиать? :)
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru