imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 12.08.2004, 15:15     # 1
hachyumov
Guest
 
Сообщения: n/a

Помошь в ПХП

Народ подскажите как сделать из обычной картинки тумбинашку, с помошью скрипта на ПХП.

И еще подскажите где можно найти хороший мануал на русском
 
Старый 12.08.2004, 16:18     # 2
Fiery_Fenix
Junior Member
 
Аватар для Fiery_Fenix
 
Регистрация: 04.03.2004
Адрес: /root/sbin
Сообщения: 193

Fiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царстве
Например вот так:
PHP код:
function CreateTumb($upload$mini_upload$t_width$t_height$t_qual){
    
$img=ImageCreateFromJPEG($upload);
      if (
$img) {
        
$w imagesx($img);
        
$h imagesy($img);
        
$scale min($t_width/$w$t_height/$h);
           if (
$scale 1) {
            
$new_width floor($scale*$w);
            
$new_height floor($scale*$h);
            
$img2 imagecreatetruecolor($new_width$new_height);
            
imagefill($img2000xFFFFFF);
            
imagecopyresampled($img2$img0000
            
$new_width$new_height$w$h);
            
imagedestroy($img);
            
ImageJPEG($img2$mini_upload$t_qual);
            
imagedestroy($img2);
          }
      } 

Примечания:
1. $upload и $mini_upload содеражт _полный_ путь на сервере для картинки и тумбки соответственно.
2. $t_width - максимальная ширина тумбки, $t_height - максимальная высота, $t_qual - качество (от 0 до 100, рекомендую 90).
!!ВНИМАНИЕ. Скрипт будет пахать _только_ если на серваке установлен РНР с библиотекой GD 2.016 и выше!! За всеми справками что установлено - phpinfo().
PS Работает _только_ для JPEG!
__________________
Кивляне! На сходку IMHO.ws шагом марш!

Последний раз редактировалось Fiery_Fenix; 12.08.2004 в 16:21.
Fiery_Fenix вне форума  
Старый 12.08.2004, 16:19     # 3
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
imagecopyresampled
imagecopyresized
желательно, чтобы новое изображение было создано с помошью imagecreatetruecolor
__________________
Nunc est bibendum
is_absent вне форума  
Старый 13.08.2004, 00:39     # 4
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
А мне последнее время все больше и больше нравится использовать ImageMagick для этих целей, тогда ресайз сделается так:

Код:
<?
passthru("/usr/bin/convert -geometry XXXxYYY! file.jpg new_file.jpg");
?>
Где "/usr/bin/convert" - собственно сама прога из комплекта IM.
XXX - Ширина в пикселах
YYY - Высота в пикселах
! - не соблюдать пропорции...
Все просто!
Ну и соответственно у IM куча других опций и параметров, и грамотный МАН...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 13.08.2004, 02:09     # 5
Fiery_Fenix
Junior Member
 
Аватар для Fiery_Fenix
 
Регистрация: 04.03.2004
Адрес: /root/sbin
Сообщения: 193

Fiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царствеFiery_Fenix Луч света в тёмном царстве
Цитата:
Hubbitus:
А мне последнее время все больше и больше нравится использовать ImageMagick для этих целей
Хм... Вообще-то он должен быть установлен на серваке чтобы его использовать У меня на серваке его не было, пришлось через GD выкручиваться.
__________________
Кивляне! На сходку IMHO.ws шагом марш!
Fiery_Fenix вне форума  
Старый 13.08.2004, 20:09     # 6
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Fiery_Fenix:
Хм... Вообще-то он должен быть установлен на серваке чтобы его использовать
Вопервых я ни на чем не настаиваю. А во-вторых можно тогда использовать NetPBM его можно самому поставить, достаточно просто закачать бинарники и все, хоть себе на аккаунт.

P.S. Ну и потом обычно у суппорта хостинга можно попросить поставить. А на многих нормальных хостерах он установлен.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 16.08.2004, 11:33     # 7
Sinker
Junior Member
 
Регистрация: 10.07.2003
Адрес: г. Королев, Россия
Сообщения: 188

Sinker Известность не заставит себя ждатьSinker Известность не заставит себя ждать
Ну у моего хостера IM установлен, но exec запрещен, так что тольку от него... Приходится изголяться...
Я вот такой скрипт пользую (похож на приведенный во втором посте). Оригинал взят с php.net и слегка подправлен.
PHP код:
function createthumb($IMAGE_SOURCE,$THUMB_X,$THUMB_Y$OUTPUT_FILE,$SHOW_ERRORS,$SHOW_SUCCESS)
{
  
$BACKUP_FILE $OUTPUT_FILE."_backup.jpg";
  
copy($IMAGE_SOURCE,$BACKUP_FILE);
  
$IMAGE_PROPERTIES GetImageSize($BACKUP_FILE);
  if (!
$IMAGE_PROPERTIES[2] == 2) {
   if (
$SHOW_ERRORS) { echo "<br>Не получилось. Ваш файл имеет формат, отличный от jpg."; }
   return(
0);
  } else {
   
$SRC_IMAGE ImageCreateFromJPEG($BACKUP_FILE);
   
$SRC_X ImageSX($SRC_IMAGE);
   
$SRC_Y ImageSY($SRC_IMAGE);
   if ((
$THUMB_Y == "0") && ($THUMB_X == "0")) {
     return(
0);
   } elseif (
$THUMB_Y == "0") {
     
$SCALEX $THUMB_X/($SRC_X-1);
     
$THUMB_Y $SRC_Y*$SCALEX;
   } elseif (
$THUMB_X == "0") {
     
$SCALEY $THUMB_Y/($SRC_Y-1);
     
$THUMB_X $SRC_X*$SCALEY;
   }
   
$THUMB_X floor($THUMB_X);
   
$THUMB_Y floor($THUMB_Y);
   
$DEST_IMAGE imagecreatetruecolor($THUMB_X$THUMB_Y);
   
unlink($BACKUP_FILE);
   if (!
imagecopyresized($DEST_IMAGE$SRC_IMAGE0000$THUMB_X$THUMB_Y$SRC_X$SRC_Y)) {
     
imagedestroy($SRC_IMAGE);
     
imagedestroy($DEST_IMAGE);
     if (
$SHOW_ERRORS) { echo "<br>Не получилось изменить размер изображения."; }
     return(
0);
   } else {
     
imagedestroy($SRC_IMAGE);
     if (
ImageJPEG($DEST_IMAGE,$OUTPUT_FILE))
     {
       
imagedestroy($DEST_IMAGE);
       if (
$SHOW_SUCCESS) { echo "<br>Фотография обработана успешно!!!"; }
       return(
1);
     }
     
imagedestroy($DEST_IMAGE);
   }
   if (
$SHOW_ERRORS) { echo "<br>Не получилось!"; }
   return(
0);
  }

Вызов например так if (createthumb ($_FILES['img']['tmp_name'],75,0,$file,0,0)=="0")
Sinker вне форума  
Старый 17.08.2004, 02:47     # 8
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Sinker:
Ну у моего хостера IM установлен, но exec запрещен, так что тольку от него...
Чего запрещены все функции вызова внешних программ??? Старнно.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 17.08.2004, 23:24     # 9
n0n
Member
 
Аватар для n0n
 
Регистрация: 16.07.2003
Адрес: Курорты Краснодарского края
Сообщения: 279

n0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форуме
Т.к. тема называется Помошь в ПХП

Разрешите и мне задать вопросик:
Нужен скрипт (PHP) что-бы он мог, свои локальные файлы заливать на фтп.
Может кто подскажет готовый, или если нет то хотябы где почитать или там не большой скрипт получится?

Заранее благодарен.
n0n вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 17:21.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.