Оценить:
 Рейтинг: 0

PHP. Разработка модуля комментариев для сайта

Год написания книги
2021
Теги
<< 1 ... 47 48 49 50 51 52 53 54 55 ... 78 >>
На страницу:
51 из 78
Настройки чтения
Размер шрифта
Высота строк
Поля

$filename = $_FILES['fupload']['name'];

$source = $_FILES['fupload']['tmp_name'];

$target = $path_to_90_directory . $filename;

move_uploaded_file($source, $target); //загрузка оригинала в папку $path_to_90_directory

if (preg_match('/[.](GIF)|(gif)$/', $filename)) {

$im = imagecreatefromgif($path_to_90_directory . $filename); //если оригинал был в формате gif, то создаем изображение в этом же формате. Необходимо для последующего сжатия

}

if (preg_match('/[.](PNG)|(png)$/', $filename)) {

$im = imagecreatefrompng($path_to_90_directory . $filename); //если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия

}

if (preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {

$im = imagecreatefromjpeg($path_to_90_directory . $filename); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия

}

// Создание квадрата 90x90

// dest – результирующее изображение

// w – ширина изображения

// ratio – коэффициент пропорциональности

$w = 90; // квадратная 90x90. Можно поставить и другой размер.

$h = 90;

// создаём исходное изображение на основе

// исходного файла и определяем его размеры

$w_src = imagesx($im); //вычисляем ширину

$h_src = imagesy($im); //вычисляем высоту изображения

if ($w_src !== $h_src) {

exit('<h4>Стороны изображения для загрузки должны быть равны. Например 256*256.<br>Рекомендую использовать готовые аватары со специализированных сайтов.<br>

Или подготовьте картинку в графическом редакторе</h4><br><i>p.s. грузим аватары, а не картины</i>');

}

// создаём пустую квадратную картинку

// важно именно truecolor!, иначе будем иметь 8-битный результат

$dest = imagecreatetruecolor($w, $w);

$white = imagecolorallocate($dest, 255, 255, 255);

imagefill($dest, 0, 0, $white);

imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $h_src);

$date = time(); //вычисляем время в настоящий момент.

imagejpeg($dest, $path_to_90_directory . $date . ".jpg"); //сохраняем изображение формата jpg в нужную папку, именем будет текущее время. Сделано, чтобы у аватаров не было одинаковых имен.

$avatar = $path_to_90_directory . $date . ".jpg"; //заносим в переменную путь до аватара.

$delfull = $path_to_90_directory . $filename;

unlink($delfull); //удаляем оригинал загруженного изображения, он нам больше не нужен. Задачей было – получить миниатюру.

} else {

//в случае несоответствия формата, выдаем соответствующее сообщение

exit("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>"); //останавливаем выполнение сценариев

}

//конец процесса загрузки и присвоения переменной $avatar адреса загруженной авы

}

/*.........................Сохраняем пользователя в базу......................*/

if (!isset($date)) {

$date = time();

}

try {

$sql = "INSERT INTO users (login,password,email,img,date) VALUES(:login,:password,:email,:img, :date)";
<< 1 ... 47 48 49 50 51 52 53 54 55 ... 78 >>
На страницу:
51 из 78