(Добавление)
Вот код который нужно переделать
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- {
- //если переменной не существует (пользователь не отправил изображение),то присваиваем ему заранее приготовленную картинку с надписью "нет аватара"
- $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, то создаем изображение в этом же формате. Необходимо для последующего сжатия
- }
- $im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия
- }
- //СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru
- // Создание квадрата 90x90
- // dest - результирующее изображение
- // w - ширина изображения
- // ratio - коэффициент пропорциональности
- $w = 90; // квадратная 90x90. Можно поставить и другой размер.
- // создаём исходное изображение на основе
- // исходного файла и определяем его размеры
- // создаём пустую квадратную картинку
- // важно именно truecolor!, иначе будем иметь 8-битный результат
- // вырезаем квадратную серединку по x, если фото горизонтальное
- if ($w_src>$h_src)
- // вырезаем квадратную верхушку по y,
- // если фото вертикальное (хотя можно тоже серединку)
- if ($w_src<$h_src)
- // квадратная картинка масштабируется без вырезок
- if ($w_src==$h_src)
- 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 адреса загруженной авы
- }
- ?>