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]   

> Без описания
Jigan
Отправлено: 13 Ноября, 2011 - 06:29:58
Post Id


Новичок


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


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




Здравствуйте помогите пожалуйста уже 2 дня мучаюсь! У меня есть регистрация на сайте, скрипт написан на ооп. Я хочу прикрепить к ней вывод у пользователей аватара и отправки сообщений. Но для начала хотел бы разобраться с аватарами. Дак вот, у меня есть код написанный (как мне сказале) в прочедурном стиле я хочу его вывести в отдельный класс например avatarcontroller.php и расписать по функциям, а потом этот класс подключить в файле обработчике формы входа и регистрации. Я в php не силен только учусь и так сделать придумал сам. Скажите пожалуйста возможно ли так сделать или нет? Если возможно то помогите? Заранее благодарен!
(Добавление)
Вот код который нужно переделать

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (empty($_FILES['fupload']['username']))
  3. {
  4. //если переменной не существует (пользователь не отправил изображение),то присваиваем ему заранее приготовленную картинку с надписью "нет аватара"
  5. $avatar = "../avatars/net-avatara.jpg"; //можете нарисовать net-avatara.jpg или взять в исходниках
  6. }
  7.  
  8. else
  9. {
  10. //иначе - загружаем изображение пользователя
  11. $path_to_90_directory = '../avatars/';//папка, куда будет загружаться начальная картинка и ее сжатая копия
  12.  
  13.        
  14. if(preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['username']))//проверка формата исходного изображения
  15.          {     
  16.                        
  17.                 $filename = $_FILES['fupload']['username'];
  18.                 $source = $_FILES['fupload']['usr_userid'];    
  19.                 $target = $path_to_90_directory . $filename;
  20.                 move_uploaded_file($source, $target);//загрузка оригинала в папку $path_to_90_directory
  21.  
  22.         if(preg_match('/[.](GIF)|(gif)$/', $filename)) {
  23.         $im = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif, то создаем изображение в этом же формате. Необходимо для последующего сжатия
  24.         }
  25.         if(preg_match('/[.](PNG)|(png)$/', $filename)) {
  26.         $im = imagecreatefrompng($path_to_90_directory.$filename) ;//если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия
  27.         }
  28.        
  29.         if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
  30.                 $im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия
  31.         }
  32.        
  33. //СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru
  34.  
  35. // Создание квадрата 90x90
  36. // dest - результирующее изображение
  37. // w - ширина изображения
  38. // ratio - коэффициент пропорциональности
  39.  
  40. $w = 90;  // квадратная 90x90. Можно поставить и другой размер.
  41.  
  42. // создаём исходное изображение на основе
  43. // исходного файла и определяем его размеры
  44. $w_src = imagesx($im); //вычисляем ширину
  45. $h_src = imagesy($im); //вычисляем высоту изображения
  46.  
  47.          // создаём пустую квадратную картинку
  48.          // важно именно truecolor!, иначе будем иметь 8-битный результат
  49.          $dest = imagecreatetruecolor($w,$w);
  50.  
  51.          // вырезаем квадратную серединку по x, если фото горизонтальное
  52.          if ($w_src>$h_src)
  53.          imagecopyresampled($dest, $im, 0, 0,
  54.                           round((max($w_src,$h_src)-min($w_src,$h_src))/2),
  55.                           0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
  56.  
  57.          // вырезаем квадратную верхушку по y,
  58.          // если фото вертикальное (хотя можно тоже серединку)
  59.          if ($w_src<$h_src)
  60.          imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w,
  61.                           min($w_src,$h_src), min($w_src,$h_src));
  62.  
  63.          // квадратная картинка масштабируется без вырезок
  64.          if ($w_src==$h_src)
  65.          imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $w_src);
  66.                  
  67.  
  68. $date=time(); //вычисляем время в настоящий момент.
  69. imagejpeg($dest, $path_to_90_directory.$date.".jpg");//сохраняем изображение формата jpg в нужную папку, именем будет текущее время. Сделано, чтобы у аватаров не было одинаковых имен.
  70.  
  71. //почему именно jpg? Он занимает очень мало места + уничтожается анимирование gif изображения, которое отвлекает пользователя. Не очень приятно читать его комментарий, когда краем глаза замечаешь какое-то движение.
  72.  
  73. $avatar = $path_to_90_directory.$date.".jpg";//заносим в переменную путь до аватара.
  74.  
  75. $delfull = $path_to_90_directory.$filename;
  76. unlink ($delfull);//удаляем оригинал загруженного изображения, он нам больше не нужен. Задачей было - получить миниатюру.
  77. }
  78. else
  79.          {
  80.                  //в случае несоответствия формата, выдаем соответствующее сообщение
  81.          
  82. exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>"); //останавливаем выполнение сценариев
  83.  
  84.              }
  85. //конец процесса загрузки и присвоения переменной $avatar адреса загруженной авы
  86. }
  87.                         ?>


Отредактировано модератором: Stierus, 13 Ноября, 2011 - 09:50:57
 
 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