Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
|
Здравствуйте помогите пожалуйста уже 2 дня мучаюсь! У меня есть регистрация на сайте, скрипт написан на ооп. Я хочу прикрепить к ней вывод у пользователей аватара и отправки сообщений. Но для начала хотел бы разобраться с аватарами. Дак вот, у меня есть код написанный (как мне сказале) в прочедурном стиле я хочу его вывести в отдельный класс например avatarcontroller.php и расписать по функциям, а потом этот класс подключить в файле обработчике формы входа и регистрации. Я в php не силен только учусь и так сделать придумал сам. Скажите пожалуйста возможно ли так сделать или нет? Если возможно то помогите? Заранее благодарен!
(Добавление)
Вот код который нужно переделать
PHP:
скопировать код в буфер обмена
<?PHP if (empty($_FILES['fupload']['username'])) { //если переменной не существует (пользователь не отправил изображение),то присваиваем ему заранее приготовленную картинку с надписью "нет аватара" $avatar = "../avatars/net-avatara.jpg"; //можете нарисовать net-avatara.jpg или взять в исходниках } else { //иначе - загружаем изображение пользователя $path_to_90_directory = '../avatars/';//папка, куда будет загружаться начальная картинка и ее сжатая копия if(preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['username']))//проверка формата исходного изображения { $filename = $_FILES['fupload']['username']; $source = $_FILES['fupload']['usr_userid']; $target = $path_to_90_directory . $filename; $im = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif, то создаем изображение в этом же формате. Необходимо для последующего сжатия } $im = imagecreatefrompng($path_to_90_directory.$filename) ;//если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия } if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) { $im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия } //СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru // Создание квадрата 90x90 // dest - результирующее изображение // w - ширина изображения // ratio - коэффициент пропорциональности $w = 90; // квадратная 90x90. Можно поставить и другой размер. // создаём исходное изображение на основе // исходного файла и определяем его размеры $w_src = imagesx($im); //вычисляем ширину $h_src = imagesy($im); //вычисляем высоту изображения // создаём пустую квадратную картинку // важно именно truecolor!, иначе будем иметь 8-битный результат // вырезаем квадратную серединку по x, если фото горизонтальное if ($w_src>$h_src) 0 , $w, $w, min($w_src,$h_src), min($w_src,$h_src)); // вырезаем квадратную верхушку по y, // если фото вертикальное (хотя можно тоже серединку) if ($w_src<$h_src) min($w_src,$h_src), min($w_src,$h_src)); // квадратная картинка масштабируется без вырезок if ($w_src==$h_src) $date=time(); //вычисляем время в настоящий момент. imagejpeg($dest, $path_to_90_directory.$date.".jpg");//сохраняем изображение формата jpg в нужную папку, именем будет текущее время. Сделано, чтобы у аватаров не было одинаковых имен. //почему именно jpg? Он занимает очень мало места + уничтожается анимирование gif изображения, которое отвлекает пользователя. Не очень приятно читать его комментарий, когда краем глаза замечаешь какое-то движение. $avatar = $path_to_90_directory.$date.".jpg";//заносим в переменную путь до аватара. $delfull = $path_to_90_directory.$filename; unlink ($delfull);//удаляем оригинал загруженного изображения, он нам больше не нужен. Задачей было - получить миниатюру. } else { //в случае несоответствия формата, выдаем соответствующее сообщение exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>"); //останавливаем выполнение сценариев } //конец процесса загрузки и присвоения переменной $avatar адреса загруженной авы } ?>
Отредактировано модератором: Stierus, 13 Ноября, 2011 - 09:50:57
|