Друзья, доброго времени суток. У меня в проекте идет загрузка фотографий разной, но заданной ширины и высоты на разных страницах. Все умещено в одну функцию, вызов которой инициируется по клику кнопок с классом add-photo. Сама функция берет следующие параметры Добавить фото, где первые два - это ширина и высота, 3 параметр - это переданный класс окна превью (в данном случае square, так как конечное фото 500 на 500 и параметр, который ведет к папке сохранения и типу фото, в данном случае это фотография юзера). Все работало супер, предзагрузка, обрезка, сохранение, но потом я решил добавить фото с айфона. Фотка добавилась, но в перевернутом виде. Для решения этой проблемы я считываю заголовки EXIF и получаю ориентацию фото и далее фото либо необходимо перевернуть, либо нет. В итоге, все работает как-то странно. Одни фото загружаются, другие загружаются в виде фото заданной области, но полностью черные, а иногда появляется черная полоска сбоку. Подскажите кто с этим сталкивался и как это можно решить, возможно ошибка на поверхности. Код предоставил. Спасибо за потраченное на меня время.
if (file_exists($path.$photo)) {
$picture_name = "img_".GetHash(10).date('YmdHis').".jpg";
$thumbFilePath = $thumbPath.$picture_name;
$img_extension = new SplFileInfo($path.$photo);
switch(strtolower($img_extension->getExtension())){
case 'png':
$img = imagecreatefrompng($path.$photo);
$tmpimg = imagecreatetruecolor( $resultWidth, $resultHeight );
imagefill($tmpimg, 0, 0, imagecolorallocate($tmpimg, 255, 255, 255));
imagealphablending($tmpimg, TRUE);
break;
case 'jpg': case 'jpeg':
$img = imagecreatefromjpeg($path.$photo);
$tmpimg = imagecreatetruecolor( $resultWidth, $resultHeight );
break;
}
$rotated = false;
if(function_exists("exif_read_data")){
$exif = @exif_read_data($path.$photo);
if(!empty($exif['Orientation'])) {
switch($exif['Orientation']) {
case 8: $source = imagerotate($img, 90, 0, 1); $rotated = true; break;
case 3: $source = imagerotate($img, 180, 0, 1); break;
case 6: $source = imagerotate($img, -90, 0, 1); $rotated = true; break;
}
if ($rotated) {
$new_width = $height;
$new_height = $width;
} else {
$new_width = $width;
$new_height = $height;
}
} else{
$source = imagerotate($img, 0, 0, 1);
$new_width = $width;
$new_height = $height;
}
} else {
$source = imagerotate($img, 0, 0, 1);
$new_width = $width;
$new_height = $height;
}
imagecopyresampled( $tmpimg, $source, 0, 0, $x, $y, $resultWidth, $resultHeight, $new_width, $new_height );
imagejpeg( $tmpimg, $thumbFilePath, 90);
array_map('unlink', glob($path."*"));
imagedestroy($tmpimg);
imagedestroy($img);
imagedestroy($source);
} else {echo'error'; exit();}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть запрос WP_Query, локально все работает и выводит все данные которые нужно, залил на боевой хостинг сайт, все запросы которые через WP_Query перестали...
Собираюсь сделать инстаграм парсер для того, чтобы можно было вручную фильтровать профили из базы быстро и удобноДумаю это должно выглядеть...
Есть необходимость получать все данные, которые имеются о пользователе в базе данных для последующей их обработки/изменений