Приветствую всех, имеется html форма
<div class="add-box-download">
<form id="js-form" method="POST">
<div class="example-1">
<div class="form-group">
<label class="label">
<img src="../img/page/photo.png">
<input id="js-file" type="file" name="file" data="1">
<p>Выберите картинку в формате JPG, GIF или PNG</p>
</label>
</div>
</div>
</form>
</div>
<script src="js/load.js"></script>
Имеется JS код (Взят с инета и он слишком большой для вставки сюда) поэтому вот ссылка на файл
https://dropmefiles.com/JBZHi
и имеется PHP обработчик
<? $file = @$_FILES['file'];
$error = $success = '';
function translit($str) {
$rus = array('А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я');
$lat = array('A', 'B', 'V', 'G', 'D', 'E', 'E', 'Gh', 'Z', 'I', 'Y', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'H', 'C', 'Ch', 'Sh', 'Sch', 'Y', 'Y', 'Y', 'E', 'Yu', 'Ya', 'a', 'b', 'v', 'g', 'd', 'e', 'e', 'gh', 'z', 'i', 'y', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'c', 'ch', 'sh', 'sch', 'y', 'y', 'y', 'e', 'yu', 'ya');
return str_replace($rus, $lat, $str);
}
// Директория, куда будут загружаться файлы.
$path = $_SERVER["DOCUMENT_ROOT"] . '/img/wish/';
if (!empty($file)) {
// Разрешенные расширения файлов.
$allow = array('jpg', 'jpeg', 'png');
$elem = explode(".", $file['name']); $filter = strtolower(array_pop($elem));
if ($file['size'] < 10240) {echo $error = 'Недопустимый размер загружаемого файла!'; exit;}
if(!is_numeric(array_search($filter, $allow))) {echo $error = 'Загружаемый файл не является изображением!'; exit;}
$imageinfo = getimagesize($file['tmp_name']);
if($imageinfo['mime'] != 'image/jpg' && $imageinfo['mime'] != 'image/jpeg' && $imageinfo['mime'] != 'image/png')
{echo $error = 'Данный тип файла запрещен!'; exit;}
$tmp_name = strip_tags($file['tmp_name']);
$tmp_name = htmlspecialchars($file['tmp_name']);
// Проверим на ошибки загрузки.
if (!empty($file['error']) || empty($tmp_name)) {
switch (@$file['error']) {
case 1:
case 2: $error = 'Превышен размер загружаемого файла.'; break;
case 3: $error = 'Файл был получен только частично.'; break;
case 4: $error = 'Файл не был загружен.'; break;
case 6: $error = 'Файл не загружен - отсутствует временная директория.'; break;
case 7: $error = 'Не удалось записать файл на диск.'; break;
case 8: $error = 'PHP-расширение остановило загрузку файла.'; break;
case 9: $error = 'Файл не был загружен - директория не существует.'; break;
case 10: $error = 'Превышен максимально допустимый размер файла.'; break;
case 11: $error = 'Данный тип файла запрещен.'; break;
case 12: $error = 'Ошибка при копировании файла.'; break;
default: $error = 'Файл не был загружен - неизвестная ошибка.'; break;
}
} elseif ($tmp_name == 'none' || !is_uploaded_file($tmp_name)) {$error = 'Не удалось загрузить файл.';} else {
$pattern = "[^A-Za-z0-9\.\-]";
$name = mb_eregi_replace($pattern, '', $file['name']);
$name = mb_ereg_replace('[-]+', '', $name);
$parts = pathinfo($name);
if (empty($name) || empty($parts['extension'])) {$error = 'Не удалось загрузить файл!';}
elseif (!empty($allow) && !in_array(strtolower($parts['extension']), $allow)){$error = 'Недопустимый тип файла';} else{
$names = explode(".", $name);
$filename = translit($names[0]);
$img = $filename.'.'.$names[1];
// Перемещаем файл в директорию.
if (move_uploaded_file($tmp_name, $path.$img)) {$success = 'Файл '.$name.' успешно загружен.';}
else {$error = 'Не удалось загрузить файл.';}
}
}
// Выводим сообщение о результате загрузки.
if (!empty($success)) {echo $success;}
else {echo $error;}
}
include $_SERVER['DOCUMENT_ROOT'].'/core/function.php';
if (isset($data['id'])) {
$files_img = implode($data['filename']);
$names = explode(".", $files_img);
$filename = translit($names[0]);
$img = $filename.'.'.$names[1];
if(R::count('wish', "photo = ?", array($img)) > 0) {exit;}
else if (R::count('wish', "name = ?", array('-')) == 0) {
$wish = R::dispense('wish');
$wish->name = '-'; # Название желаемого
$wish->price = '-'; # Стоимость желаемого
$wish->photo = $img; # Название картинки
$wish->time = date('d.m.Y h:i:s', time()); # Дата публикации
R::store($wish);
message($img, 'error');
} else {
$sql = mysqli_query($CONNECT, "UPDATE `wish` SET `photo` = '$img' WHERE `photo` = '-'");
message($img, 'error');
}
}
Как видите код слишком громоздкий и я больше чем уверен что тут куча мусора и вообще не нужного более чем. Есть ли возможность реализовать аналог или может этот как то по путнему можно обработать?