<?php
$path = $_SERVER['DOCUMENT_ROOT'] . '/fonts/';
$filter = array('ttf', 'otf');
$font = $path . '/' . $_POST['font'];
session_start();
//Фильтрация от xss
function clear_data($val){
$val = trim($val);
$val = stripslashes($val);
$val = strip_tags($val);
$val = htmlspecialchars($val, ENT_QUOTES, 'UTF-8');
return $val;
}
//функция вывод ошибок
function error($valerror) {
echo "<div class='error'>".$valerror."</div>";
}
// Разрешение расширения файлов для загрузки
$filetypes = array('jpg', 'gif', 'jpeg', 'png');
// Максимально допустимый размер
$axsize = 1242880;
// Оригинальное название файла
$filename = $_FILES['uploaded_file']['name'];
// Полный путь до временного файла
$tempname = $_FILES['uploaded_file']['tmp_name'];
// Полный путь к новому файлу в папке сервера
$upload = $_SERVER['DOCUMENT_ROOT'] . '/saves/';
$newname = time() . '.gif';
isset($_POST['size']) ? $size = (int)clear_data($_POST['size']) : $size = 8;
isset($_POST['y']) ? $y = (int)clear_data($_POST['y']) : $y = 11;
isset($_POST['x']) ? $x = (int)clear_data($_POST['x']) : $x = 4;
if (isset($_POST['add'])) {
$error = 0;
$name = clear_data($_POST['name']);
if(empty($name)){error('Введите текст'); $error = 1;}
elseif(empty($size)){error('Введите размер шрифта'); $error = 1;}
elseif(empty($y)){error('Введите отступ сверху'); $error = 1;}
elseif(empty($y)){error('Введите отступ слева'); $error = 1;}
$FileExtension = pathinfo($filename, PATHINFO_EXTENSION);
if(!in_array($FileExtension, $filetypes)) {
error("Файлы с расширением {$FileExtension} не допускаются");
$error = 1;}
elseif(filesize($tempname) > $axsize) {
error('Размер загружаемого файла превышает 1МБ');
$error = 1;}
if ($error == 0){
move_uploaded_file($tempname, $upload . $newname);
$img = $upload . $newname; // Ссылка на файл
$degree = 0; // Угол поворота текста в градусах
$pic = imagecreatefromgif($img); // Функция создания изображения
$color = imagecolorallocate($pic, 255, 255, 255); // Функция выделения цвета для текста
imagettftext($pic, $size, $degree, $x, $y, $color, $font, $name); // Функция нанесения текста
imagegif($pic, $upload . $newname); // Сохранение рисунка
imagedestroy($pic); // Освобождение памяти и закрытие рисунка
$_SESSION['info'] = "<div class = 'forn'><a href = '/saves/".$newname."' target='_blank'>
Скачать ==> <img src='/saves/".$newname."' alt=''></a></div>";
}
}
?>