php - 如何使用 php 自动旋转带有 exif 方向数据的图像

标签 php image gallery exif

我创建了一个上传脚本,它还创建了一个工作正常的缩略图,但我现在遇到了一个问题。当我上传一些图片时,exif 方向数据会自动旋转我网站上的图片。

我已经尝试在线搜索如何检查数据并将其旋转回来(如果有),但我不明白我打算做什么。

到目前为止,这是我的代码:

if(isset($_POST['submit'])) {
        $allowedExts = array("jpg", "jpeg", "gif", "png", "JPG", "GIF");
        $extension = end(explode(".", strtolower($_FILES["file"]["name"])));
        if ((($_FILES["file"]["type"] == "image/gif")
        || ($_FILES["file"]["type"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/png")
        || ($_FILES["file"]["type"] == "image/pjpeg"))
        && in_array($extension, $allowedExts)) {
            if ($_FILES["file"]["error"] > 0) {
                echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
            } else {

                $random_numer = rand(10000000, 99999999);
                $newname1 = $random_numer . $_FILES["file"]["name"];
                $scramble = md5($newname1);
                $extension = end(explode(".", $_FILES["file"]["name"]));
                $final_name = $scramble . "." . $extension;

                move_uploaded_file($_FILES["file"]["tmp_name"], "../img/gallery/" . $final_name);
                create_thumbnail($final_name);
                $stmt = $conn->prepare('INSERT INTO gallery (image) VALUES (:image)');
                $stmt->bindParam(':image', $final_name);
                $stmt->execute();

                if ($stmt->rowCount() > 0) {
                    echo "<p class='success'>The Image has been added!
                     <a href='gallery.php'>Please click here to refresh</a></p>";
                } else {
                    echo "<p class='error'>The Image was not added, there was an error.</p>";
                }

            }
        } else {
            echo "Invalid file";
        }
    }

如何让图片不旋转?

最佳答案

您将不得不编写另一个自定义函数,因为无法告诉 move_uploaded_file 忽略 EXIF 数据,这有点令人失望。

关于php - 如何使用 php 自动旋转带有 exif 方向数据的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15553673/

相关文章:

php - 为两个字段添加唯一约束,如果两个字段重复则不允许重复条目

image - 如何使 <img> 与 <figcaption> 宽度相同?

html - svg 图像元素回退

html - 如何构建带有上一个/下一个按钮的纯 CSS3 图像 slider ?

php - 使用 CASE 尝试更新两个表之间的字段时出现 MySQL 错误 1064

php 脚本不通过 ajax 调用执行

php - 将图像上的点击次数与数据库中记录的点击次数进行比较

asp.net - 显示存储在 mysql 数据库中的图像 + ASP.NET MVC

html - 如何使用 CSS 隐藏图库中的图像?

html - 想要在我的画廊中并排放置图片 (Html)