如何使用 PHP 修复图像方向并上传图像

2023-12-22

我正在尝试上传图像并修复图像的旋转,然后将其更新到服务器,我必须使用此链接中的答案:here https://stackoverflow.com/questions/34287437/how-to-check-fix-image-rotation-before-upload-image-using-php#answer-34287543但它仍然无法工作方向错误的图像

php中的代码:

    //START Update the user image
if(isset($_POST['user_image_id'])){

    $upload_image_id = $_POST['user_image_id'];
    $user_image = $_FILES['user_image']['name'];
    $filePath = $_FILES['user_image']['tmp_name'];

   $image = imagecreatefromstring(file_get_contents($_FILES['user_image']['tmp_name']));
    $exif = exif_read_data($filePath);
    if(!empty($exif['Orientation'])) {
        switch($exif['Orientation']) {
           case 8:
               $image = imagerotate($image,90,0);
               break;
           case 3:
               $image = imagerotate($image,180,0);
               break;
           case 6:
               $image = imagerotate($image,-90,0);
               break;
       }
   }
    // $image now contains a resource with the image oriented correctly

    //create image target to upload
    $image_target = $folder_target.basename($_FILES['user_image']['name']);

    //upload the image the and update the name of the image
    if(move_uploaded_file($_FILES['user_image']['tmp_name'], $image_target)){
        if ($conn->query("UPDATE `users` SET `image`='$user_image' WHERE `id` LIKE '$upload_image_id'")){
            echo 1;
        }else{
            echo "not update the name, Proplem";
        }
    }else{
        echo 'image not uploaded';
    }

}

我使用了图像库“https://github.com/Al-Alloush/JavaScript-Load-Image https://github.com/Al-Alloush/JavaScript-Load-Image”,修复浏览器中图像的方向,但当我提交并将图像上传到服务器时,方向仍然相同

请帮忙, :)


旋转图像后您尚未保存图像。上传前保存如下。

imagejpeg($image, $filePath);

//upload the image the and update the name of the image
if(move_uploaded_file($filePath, $image_target)){
    ....
}

Note: imagejpeg应该用于具有JPG扩大。为了PNG, use imagepng.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 PHP 修复图像方向并上传图像 的相关文章

  • 将 #RRGGBB 十六进制值转换为 #AARRGGBB

    414141 与 AARRGGBB 的值是什么 52b531 又如何 我如何使用 PHP 转换它 Regards 奔腾10 AA 是 Alpha 通道 直接转换是将 AA 设置为 FF 以使其完全不透明 414141 becomes FF4
  • PHP 异常处理与 C#

    这是一个非常基本的问题 我希望如此 我所做的大部分异常处理都是使用 C 进行的 在 C 中 任何在 try catch 块中出错的代码都会由 catch 代码处理 例如 try int divByZero 45 0 catch Except
  • Python 的高效图像缩略图控制?

    Python GUI 应用程序显示大量缩略图的最佳选择是什么 例如10000 或更多 出于性能原因 此类缩略图控件必须支持虚拟项目 即仅请求应用程序当前对用户可见的那些缩略图 In wxPython http wxpython org 您可
  • 如何在没有 session_destroy 的情况下销毁 Zend_Session_Namespace

    我使用以下方法在临时会话中存储一些值 job new Zend Session Namespace application 我如何只销毁会话应用无需清除所有会话 要从会话中删除值 请对对象属性使用 PHP 的 unset 函数 假设 job
  • Symfony 生成器形式、原则和 M:N 关系

    我有一个基本的 M N 设置 包含三个表 candidate position 和 Candidate position 这是 MySQL Workbench 的 ERD 屏幕截图 现在 我们继续讨论表单 在 symfony 生成器的默认世
  • PHP 电子邮件验证[重复]

    这个问题在这里已经有答案了 For PHP最好的电子邮件验证方法是什么preg NOT ereg因为它是已弃用 删除 I don t需要检查该网站是否存在 这不像最高安全性 我找到了很多方法ereg但它们 显然 不是好的做法 我建议你使用F
  • php隐藏所有错误[重复]

    这个问题在这里已经有答案了 隐藏的最佳做法是什么allPHP 错误 因为我不想向用户显示错误 我尝试过使用 htacess通过输入代码php flag display errors off在那里 但它返回给我一个500 error 还有其他
  • Apache 子进程已退出,状态为 255

    经过大量的搜索 尝试 修复 等待和哭泣 在我放弃之前 我想为这个错误抓住最后的机会 我们正在奔跑Microsoft Windows Server 2012 Apache 2 4 6 Win64 OpenSSL 1 0 1e PHP 5 5
  • 在 PHP 中将整数转换为十六进制值

    如何将PHP中第一类中的数字转换为第二类中的数字 是否有内置函数来转换数字 也是我的标题 将整数转换为十六进制值 甚至正确 class Permission const READ 1 const UPDATE 2 const DELETE
  • 将 Cloudinary 与 spatie/media-library Laravel 包一起使用

    有人使用 Laravel 包 spatie media library 和 Cloudinary 吗 我认为用 Flysystem 来实现它是微不足道的 我实际上使用 Cloudinary 作为带有 silvanite nova field
  • 彩色 var_dump() 和错误

    我怎样才能将样式设置为var dump 功能和PHP错误样式 如下图所示 目前我有下一个观点var dump with pre var dump pre 没有它将全部在一行中 并且只是纯文本的错误 我搜索了一些 PHP 颜色错误 var d
  • Gearman,php 扩展问题:使用终端在 .. 中找不到类“GearmanWorker”,但可以在浏览器上使用

    我最近在 ubuntu 10 04 上安装了 gearman 并安装了它的 pecl 扩展 现在 当我在浏览器中运行一个 php 文件时 其中包含 client new GearmanWorker die var Dump client I
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • 如何从另一个数组值中过滤数组值并返回新数组? [复制]

    这个问题在这里已经有答案了 我有两个数组 all languages and taken languages 第一个包含所有语言 例如 200 种或其他语言 第二个包含之前选择的语言 从 0 到 200 种 我需要删除所有已采用的语言 ta
  • PHP 中的异或加密

    我是 Xor 加密的新手 并且在使用以下代码时遇到了一些问题 function xor this string Let s define our key here key magic key Our plaintext ciphertext
  • Laravel,控制器中的 Auth::user()

    Laravel 框架 为什么我无法在 laravel 项目的控制器中使用 Auth user 查看用户是否已登录 Session 是否未连接到控制器 HomeController php public function isauthoriz
  • 使用 Imagick 动态图像创建/Apache 标头

    在将现有的稳定网站转移到新服务器时 我遇到了一些使用 Imagick 动态创建图像的代码的间歇性问题 该代码解析 GET 查询 例如 example com image php ipid 750123 r 0 w 750 h 1000 然后
  • PHP-如何根据条件配对数组中的项目

    如何将数组中的项目配对 假设我有一个数组Fighters 我想根据他们的情况将他们配对Weights 体重最接近的拳手应作为配对最佳匹配 但如果他们是在同一个团队中 他们不应该配对 团队 1 战斗机A体重为60 战斗机B体重为65 2队 战
  • 控制数据是否存在于数组中

    我在mysql中有两个不同的表 我正在使用curl从json文件中获取数据 我的第一个表名称是 tblclients 该表存储客户端数据 我的第二个表名称是 tblcustomfieldsvalues 该表使用 tblclients 表的
  • PHP 中根据相似值对数组进行分组

    我有一个具有以下结构的数组

随机推荐

  • 带动画的RemoveFromSuperView() - AnimationWillEnd不会触发

    我有一个 UIView 并尝试使用动画 淡入 alpha 0 0 将其从其超级视图中删除 工作正常 但视图永远不会从超级视图中删除 尽管我向 AnimationWillEnd 添加了委托 这是代码 控制台输出不会被写入 视图也不会被删除 怎
  • Swing 应用程序在哪里使用?

    现在人们真的使用 Swing 应用程序吗 我没有找到使用它们的地方 是否可以跳过 AWT 和 Swing 包 不过我学到了一些基础知识 如果您专门为网络编写内容 您可能可以跳过 Swing 但否则您绝对会遇到它 我从来没有开发过没有 Swi
  • 将 Switch 小部件添加到 ActionBar 并响应更改事件

    我可以知道如何在 ActionBar 中添加 Switch 小部件并处理单击事件或切换更改事件吗 现在我可以膨胀 ActionBar 中的 Switch 但无法响应更改事件 我已将以下内容添加到 main xml 中 menu menu
  • express.Router 和 app.get 之间的区别?

    我从 NodeJS 和 Express 4 开始 我有点困惑 我正在阅读 Express 网站 但看不到when使用路由处理程序或何时使用express Router 正如我所看到的 如果我想在用户点击时显示页面或其他内容 show例如我应
  • 在 Excel VBA 中添加到数组函数

    我正在尝试在 for 循环中将一个数组添加到 Double 数组的数组中 这是我的代码 Sub Test3 Dim a As Double i As Integer ReDim a 1 To 10 1 To 3 Dim d For i 1
  • Android Studio 3.0:无法解决模块依赖关系

    我有一个主要项目和第二个项目 模块 我导入后module项目作为模块依赖项app项目并尝试同步所有内容 我收到以下错误 Unable to resolve dependency for app debug compileClasspath
  • 迅速。如何将文本行追加到 file.txt 顶部?

    我正在实现一个小型记录器 在其中写入 TXT 文件 我希望最后一个事件位于文件顶部 但我无法使其正常工作 互联网上的所有示例都使用 fileHandle seekToEndOfFile 在文件末尾写入 这就是我所拥有的 private st
  • 将多个值从 MVC3 视图传递到 ActionMethod

    我想知道是否有人可以帮助我 我很抱歉听起来像个笨蛋 但我是 MVC3 的新手 我试图将 2 个值从视图传递到操作方法 但这并不公平 HTML Html ActionLink ASSIGN AssignTokenToDataTemplate
  • 我如何创建像 Altair 这样并排的条形图?

    我想要创造的图片 https i stack imgur com VZ0K3 png 我得到了图表的左侧 前三分之一 并尝试创建 bars2 和 text2 字段 但这不起作用 并将其添加到原始的ranked movies字段中 但这一切都
  • Groovy 方法从列表中获取随机元素

    Groovy 在管理集合方面非常强大 我有一个这样的列表 def nameList Jon Mike Alexia 我想做的是迭代 10 次 从第一个列表中获取 10 个人的随机名字 10 times Person person new P
  • 在 EKS 集群中挂载 EFS:示例部署失败

    我目前正在尝试创建一个 EFS 以在 EKS 集群中使用 我已遵循所有说明 并且大多数情况下一切似乎都正常 但是 当尝试应用 multiple pods 示例部署时here https github com kubernetes sigs
  • 如何在Java中的FlatBuffer中存储字典(地图)

    我正在从中学习平面缓冲区link https google github io flatbuffers flatbuffers guide tutorial html 没有例子演示如何存储字典 地图 这里提到了 Storing dictio
  • 测试与 docker 守护进程的连接

    我正在编写一个将自动启动 docker compose 的脚本 然而 有时 做eval docker machine env default 不会导致 docker 守护进程立即连接 并且当下一行到来时 docker compose up
  • *nix select 和 exceptfds/errorfds 语义

    The select http www opengroup org onlinepubs 007908775 xsh select html系统调用需要 3 个文件描述符集来监视 fd 的可读 可写和文件描述符上的 异常 我的选择man p
  • 使用 Apps 脚本删除 Google 表格中的空行后复制数据?

    下面的代码工作正常 它正在排序 删除重复项并删除空行 然后我只想将数据行复制到最后一个数据行之后 但代码正在复制具有空行的数据行 复制时需要避免空行 var column 3 range sort column column ascendi
  • 是否可以使用java在Excel xssf文档中查找文本并获取单元格索引,即[行号和列号]? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 使用 java 查找并获取该文本的列和行值 在Xssf文档中 使用java查找Excel文件中搜索文本的位置 这包含在Apache POI
  • PHP 多个三元运算符未按预期工作

    为什么是这样的印刷2 echo true 1 true 2 3 根据我的理解 它应该打印1 为什么它没有按预期工作 因为你写的内容与以下内容相同 echo true 1 true 2 3 如您所知 1 被评估为true 您期望的是 echo
  • 在 NeoVim/Vim 中,如何知道所有使用过的组合键?

    我想设置自己的按键绑定 但我无法确定其他插件或 neovim vim 本身使用了什么按键组合 map不显示类似的快捷方式zz 如果我不知道zz之前我的地图设置可能会使用它并覆盖原来的功能 但是 我无法确定在不同情况下存在多少未知的使用组合键
  • Kotlin 协程 future 等待超时(不可取消)

    鉴于我们有一个CompletableFuture f 在 kotlin 可挂起范围内我们可以调用f await 我们将暂停直到完成 我在使用签名实现类似功能时遇到问题f await t 必须暂停最大t毫秒或如果 future 在该持续时间内
  • 如何使用 PHP 修复图像方向并上传图像

    我正在尝试上传图像并修复图像的旋转 然后将其更新到服务器 我必须使用此链接中的答案 here https stackoverflow com questions 34287437 how to check fix image rotatio