поворот изображения php не работает, как ожидалось

Я использую php, чтобы вращать фотографию на сервере. Когда я нажимаю кнопку «повернуть», я использую ajax для загрузки страницы php, выполнения поворота и обновления div новым изображением.

Все работает, и изображение было повернуто с правильными размерами, но само изображение не было повернуто. Если я нажму f5, чтобы обновить страницу, изображение будет отображаться с исправлением. Кто-нибудь знает, почему изображение не отображается правильно перед обновлением.

$photo_path= $result['photo_path'];
$src = imagecreatefromjpeg($photo_path);
$rotate = imagerotate($src, 90, 0);
@unlink($photo_path);
imagejpeg($rotate,$photo_path);
imagedestroy($src);
imagedestroy($rotate);

Есть идеи?

1

Решение

попробуй это,

$file="myimage.jpg";

$file1 = imagecreatefromjpeg($file);

$file2 = imagerotate($file1, $degrees, 0);

file_put_contents("newimage.jpg",$file2);
0

Другие решения

Возможно, используйте JavaScript, так как это проблема на стороне клиента.

Обновление: это очень просто, но протестируйте его и посмотрите, работает ли оно;

 <script>
function changeImage(o){
o.src = '//' + (new Date()).getTime(); // time to help stop caching
}
</script>
<img src="//" onclick="changeImage(this)" />
0

Мне удалось это решить. Спасибо за помощь.

Я просто присвоил фотографии новое имя файла и обновил таблицу mysql. Должно быть, что-то связано с кэшируемым изображением, и я сохранял новый повернутый файл с тем же именем.

Еще раз спасибо.

0

Вы можете добавить знак вопроса и случайное число после расширения файла, и это заставит пользовательский браузер игнорировать локальный кэш и перезагрузить файл. Например:

myimage.png?789 <- Random number
0
По вопросам рекламы [email protected]