Данный скрипт предназначен для загрузки фото на сервер.
И скрипт должен обрезать размеры и дать новое имя а потом записать это имя в базу.
Ни где не выводится ошибка. Фото успешно загружается но! не обрезается. Вопрос, почему???
Вот сам код.
<?php
$path = "./uploads/";
$valid_formats = array("jpg", "png", "jpeg");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
$tmp = $_FILES['photoimg']['tmp_name'];
if(strlen($name)){ //возвращает длину строки
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats)) {
if($size<(1024*1024)){ // Макс размер фото 1MB
if(preg_match('/[.](PNG)|(png)$/', $_FILES['photoimg']['name'])) {
$im = imagecreatefrompng($_FILES['photoimg']['tmp_name']) ;
//если оригинал был в формате png, то создаем изображение в этом же формате.
//Необходимо для последующего сжатия
}
if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $_FILES['photoimg']['name'])) {
$im = imagecreatefromjpeg($_FILES['photoimg']['tmp_name']);
//если оригинал был в формате jpg, то создаем изображение в этом же формате.
//Необходимо для последующего сжатия
}
$Size = getimagesize($_FILES['photoimg']['tmp_name']);
$dest = imagecreatetruecolor(200, 220);
imagecopyresampled($dest, $im, 0, 0, 0, 0, 200, 220, $Size[0], $Size[1]);
$actual_image_name = time().$_SESSION['id'].".".$ext;
if(move_uploaded_file($tmp, $path.$actual_image_name)){
mysqli_query($CONNECT,"UPDATE `users` SET profile_image='$actual_image_name' WHERE id='$_SESSION[id]'");
echo "<img src='./uploads/".$actual_image_name."' class='preview'>";
} else echo'<span style="color:red;">Что-то пошло не так!</span>';
} else echo'<span style="color:red;">Размер файла превышает 1Mb!</span>';
} else echo'<span style="color:red;">Выбран неправильный формат!</span>';
} else echo'<span style="color:grey;">Пожалуйста выберите фото!</span>';
exit();
}
?>