Я новичок, только учусь. Кто разбирается с кодом на php, помогите, пожалуйста.
Вот написал я код загрузка аватарки точнее я его скачал и немного переделал. Посмотрите, пожалуйста, код и подскажите где нужно изменить.
Там есть функция "createThumb()" которая обрезает фото.
Вот надо обрезанный фото сохранить с новым именем в папку и добавить в базу имя файла.
Код ниже:
<?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'];
//Начало функции createThumb
function createThumb($path1, $file_type){
$source_image = FALSE;
if (preg_match("/jpg|JPG|jpeg|JPEG/", $file_type)) {
$source_image = imagecreatefromjpeg($path1);
}
elseif (preg_match("/png|PNG/", $file_type)) {
if (!$source_image = @imagecreatefrompng($path1)) {
$source_image = imagecreatefromjpeg($path1);
}
}
if ($source_image == FALSE) {
$source_image = imagecreatefromjpeg($path1);
}
$orig_w = imageSX($source_image);
$orig_h = imageSY($source_image);
if ($orig_w < $new_w && $orig_h < $new_h) {
$desired_width = $orig_w;
$desired_height = $orig_h;
} else {
$scale = min($new_w / $orig_w, $new_h / $orig_h);
$desired_width = ceil($scale * $orig_w);
$desired_height = ceil($scale * $orig_h);
}
if ($squareSize != '') {
$desired_width = $desired_height = $squareSize;
}
/* create a new, "virtual" image */
$virtual_image = imagecreatetruecolor($desired_width, $desired_height);
// for PNG background white-----------
$kek = imagecolorallocate($virtual_image, 255, 255, 255);
imagefill($virtual_image, 0, 0, $kek);
if ($squareSize == '') {
/* copy source image at a resized size */
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $orig_w, $orig_h);
} else {
$wm = $orig_w / $squareSize;
$hm = $orig_h / $squareSize;
$h_height = $squareSize / 2;
$w_height = $squareSize / 2;
if ($orig_w > $orig_h) {
$adjusted_width = $orig_w / $hm;
$half_width = $adjusted_width / 2;
$int_width = $half_width - $w_height;
imagecopyresampled($virtual_image, $source_image, -$int_width, 0, 0, 0, $adjusted_width, $squareSize, $orig_w, $orig_h);
}
elseif (($orig_w <= $orig_h)) {
$adjusted_height = $orig_h / $wm;
$half_height = $adjusted_height / 2;
imagecopyresampled($virtual_image, $source_image, 0,0, 0, 0, $squareSize, $adjusted_height, $orig_w, $orig_h);
} else {
imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $squareSize, $squareSize, $orig_w, $orig_h);
}
}
if (@imagejpeg($virtual_image, $path2, 90)) {
imagedestroy($virtual_image);
imagedestroy($source_image);
return TRUE;
} else {
return FALSE;
}
}
//Конце функции createThumb
if(strlen($name)){ //возвращает длину строки
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats)){
if($size<(1024*1024)){ // Макс размер фото 1MB
$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();
}
?>