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]   

> Без описания
Hawkmoth
Отправлено: 12 Ноября, 2012 - 19:54:57
Post Id


Посетитель


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


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




Задача банальна, но для меня нова, потому без дельного совета не обойтись.
Скрипт принимает только изображения в форматах .png, .gif и .jpeg. Хочу принудительно заставить их пересохраниться в размере 70x70 и сохранить как .jpeg.
Пользуюсь вот таким куском кода:
PHP:
скопировать код в буфер обмена
  1. $filetype=getimagesize($_FILES['avatar']['tmp_name']);
  2. if($filetype[2]!=1 && $filetype[2]!=2 && $filetype[2]!=3){
  3.         echo "Недопустимый тип файла. Файл должен быть в формате .JPG, .GIF или .PNG"; 
  4.         die();
  5. }
  6. switch($filetype[2]){
  7.         case 1:
  8.                 $image=imageCreateFromGif(realpath($_FILES['avatar']['tmp_name'])); break;
  9.         case 2:
  10.                 $image=imageCreateFromJpeg(realpath($_FILES['avatar']['tmp_name'])); break;
  11.         case 3:
  12.                 $image=imageCreateFromPng(realpath($_FILES['avatar']['tmp_name'])); break;
  13. }
  14. $w = imageSX($image);
  15. $h = imageSY($image);
  16. $avatar=imageCreate(70,70);
  17. imagecopyresampled($avatar, $image, 0, 0, 0, 0, 70, 70, $w, $h);
  18. if($avatar) {
  19.         imageDestroy($image);
  20.         imageJpeg($avatar, './images/avatars/'.$pic_name.'.jpg',100);
  21.         imageDestroy($avatar);
  22. }
  23. else {
  24.         echo "Ошибка при обработке файла";
  25.         die();
  26. }

Но изображения сохраняются в самом наикорявейшем виде, в бледно-сине-белых тонах. Как с этим бороться и куда копать? А чё я? Я ничё!
(Добавление)
Разобрался, imagecreatetruecolor() мне в помощь Улыбка
 
 Top
halsoft
Отправлено: 12 Ноября, 2012 - 20:53:10
Post Id



Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Нояб. 2012  
Откуда: The Land of Chechens


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






Напишите



И посмотрите на результат


-----
Хорошие дела улучшают настроение, делают жизнь счастливей, а людей человеками.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB