function post_query(url, name, data){
var str = '';
$.each(data.split('.'), function(k, v) {
str += '&' + v + '=' + $('#' + v).val();
});
$.ajax({
url: '/' + url,
type: 'POST',
data: name + '_f=1' + str,
cache: false,
success: function (result){
obj = jQuery.parseJSON (result);
if(obj.go) go(obj.go);
else $("#mess_").show(obj.message).delay(5000).fadeOut();
}
});
}
<?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)$/', $name)) {
$im = imagecreatefrompng($path.$name) ;
//если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия
}
if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $name)) {
$im = imagecreatefromjpeg($path.$name);
//если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия
}
$Size = getimagesize($tmp);
// создаём пустую квадратную картинку
// важно именно truecolor!, иначе будем иметь 8-битный результат
$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();
}
?>