<?php
// ограничение размера файла
$limit_size = 1*1024*1024; // 1 Mb
// корректные форматы файлов
$valid_format = array("jpeg", "jpg", "gif", "png");
// путь до нового файла
$path_file = "resource/img/avatars/";
// имя нового файла
$rand_name = md5(time() . mt_rand(0, 9999));
if($_FILES){
if($_FILES["avatar"]["size"] > $limit_size){
echo 'Убедитесь что картинка не больше 1мб.';
}else{
$format = end(explode(".", $_FILES["avatar"]["name"]));
if(!in_array($format, $valid_format)){
echo 'Убедитесь что картинка формата (png,jpg,jpeg,png)';
}else{
if(is_uploaded_file($_FILES["avatar"]["tmp_name"])){
echo 'Теперь у вас новый аватар.';
$src_path = $_FILES["avatar"]["tmp_name"];
$dest_path = $path_file . $rand_name . ".$format";
$type = exif_imagetype($src_path);
switch ($type) {
case IMAGETYPE_JPEG:
$src_img = imagecreatefromjpeg($src_path);
break;
case IMAGETYPE_PNG:
$src_img = imagecreatefrompng($src_path);
break;
case IMAGETYPE_GIF:
$src_img = imagecreatefromgif($src_path);
break;
case IMAGETYPE_BMP:
$src_img = imagecreatefrombmp($src_path);
break;
default:
// ???
// throw new \Exception("Unknown image type $type of file '$src_path'", 1);
break;
}
$dest_img = imagescale($src_img, 200, 200, -1, IMG_BICUBIC_FIXED);
if (!imagejpeg($dest_img, $dest_path, 85)) {
// ???
// throw new \Exception("Can't save JPEG image '$dest_path'", 1);
}
// освобождаем память
imagedestroy($src_img);
imagedestroy($dest_img);
mysqli_query($link,"UPDATE `users` SET `avatar`= '/$path_file$rand_name.$format' WHERE id=$server");
}else{
echo '<div class="inform"><div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong>Ошибка!</strong> Ошибка загрузки.</div></div>';
}
}
}
}
?>
Warning: imagescale() expects at most 4 parameters, 5 given in D:\OpenServer\OSPanel\domains\mservstest.ru\page\user-menu\profile.php on line 356
Warning: imagejpeg() expects parameter 1 to be resource, null given in D:\OpenServer\OSPanel\domains\mservstest.ru\page\user-menu\profile.php on line 358
Warning: imagedestroy() expects parameter 1 to be resource, null given in D:\OpenServer\OSPanel\domains\mservstest.ru\page\user-menu\profile.php on line 364
<?php
// ограничение размера файла
$limit_size = 1*1024*1024; // 1 Mb
// корректные форматы файлов
$valid_format = array("jpeg", "jpg", "gif", "png");
// путь до нового файла
$path_file = "resource/img/avatars/";
// имя нового файла
$rand_name = md5(time() . mt_rand(0, 9999));
if($_FILES){
if($_FILES["avatar"]["size"] > $limit_size){
echo '<div class="inform"><div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong>Ошибка!</strong> Убедитесь что картинка не больше 1мб.</div></div>';
}else{
$format = end(explode(".", $_FILES["avatar"]["name"]));
if(!in_array($format, $valid_format)){
echo '<div class="inform"><div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong>Ошибка!</strong> Убедитесь что картинка формата (png,jpg,jpeg,png).</div></div>';
}else{
if(is_uploaded_file($_FILES["avatar"]["tmp_name"])){
echo '<div class="inform"><div class="alert alert-success alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong>Супер!</strong> Теперь у вас новый аватар.</div></div>';
move_uploaded_file($_FILES["avatar"]["tmp_name"], $path_file . $rand_name . ".$format");
mysqli_query($link,"UPDATE `users` SET `avatar`= '/$path_file$rand_name.$format' WHERE id=$server");
}else{
echo '<div class="inform"><div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong>Ошибка!</strong> Ошибка загрузки.</div></div>';
}
}
}
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="avatar"><br>
<input type="submit" value="Загрузить"><br>
</form>
$("#" + id).remove();
<script>
//Получаем timestamp последнего сообщения, если нету сообщений то 0 чтобы получить все
function getTimeStamp(){
if($(".msgblock").length == 0)
return 0;
var $msgs = $(".msgblock");
return $($msgs[$msgs.length-1]).data("timestamp");
}
$(document).ready(function(){
//Добавляем сообщение
$("#send2").submit(function(event){
event.preventDefault();
$.ajax({
url: "/m-/send",
type: "POST",
data: $("#send2").serialize(),
success: function(answer){
$("#answer").html(answer);
$('.text-smile').val('');
}
});
});
//Таймер на запрос новых сообщений каждую секунду
(function updateData(){
getMsgAfterTime(function(){
setTimeout(updateData,700);
document.getElementById('result2').scrollTop = 9999;
});
})();
});
//Получение новых сообщение и добавление
function getMsgAfterTime(callback){
var id = <?=$server?>;
$.ajax({
method: "POST",
url: "/m-/test",
data: {'id': id, timestamp: getTimeStamp()}
})
.done(function( newValue ) {
if(newValue != "")
$("#msgs").append($(newValue));
if(typeof(callback) == "function")
callback();
//удалить сообщение
$('.unlike').click(function(){
var id = $(this).attr('id');
this.disabled='true';
$.ajax({
url: '/m-/delete',
type: 'post',
async: false,
data:{
'unliked': 1,
'id': id
}, success:function(answer){
$("#answer").html(answer);
$("#msgs").reload($(newValue));
document.getElementById('result2').scrollTop = 9999;
}
});
});
});
}
</script>