Я использую 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);
Есть идеи?
попробуй это,
$file="myimage.jpg";
$file1 = imagecreatefromjpeg($file);
$file2 = imagerotate($file1, $degrees, 0);
file_put_contents("newimage.jpg",$file2);
Возможно, используйте JavaScript, так как это проблема на стороне клиента.
Обновление: это очень просто, но протестируйте его и посмотрите, работает ли оно;
<script>
function changeImage(o){
o.src = '//' + (new Date()).getTime(); // time to help stop caching
}
</script>
<img src="//" onclick="changeImage(this)" />
Мне удалось это решить. Спасибо за помощь.
Я просто присвоил фотографии новое имя файла и обновил таблицу mysql. Должно быть, что-то связано с кэшируемым изображением, и я сохранял новый повернутый файл с тем же именем.
Еще раз спасибо.
Вы можете добавить знак вопроса и случайное число после расширения файла, и это заставит пользовательский браузер игнорировать локальный кэш и перезагрузить файл. Например:
myimage.png?789 <- Random number