更改图像大小 - PHP

2023-11-30

我最近创建了一个上传功能,但我不知道如何将宽度和高度更改为 75px...我尝试了通过 Google 找到的一个代码,但我刚刚收到此错误:

( ! ) Fatal error: Class 'Imagick' not found in C:\wamp\www\Legendary\new\usersettings.php on line 725
Call Stack
#   Time    Memory  Function    Location
1   0.0042  880616  {main}( )   ..\usersettings.php:0

这是我当前的代码(包括不起作用的代码):

echo '
                    <table border="0" width="100%">
                    <tr><td style="font-size: 16px;">Change Image</td></tr>

                    <form action="" method="post" enctype="multipart/form-data">
                        <tr><td>Upload Image:</td><td style="text-align: right;"><input type="file" name="upimage" id="upimage" /></td></tr>
                        <tr><td></td><td style="text-align: right; font-size: 10px;"></td></tr>
                        <tr><td></td><td style="text-align: right;"><input type="submit" name="submitnewimage" value="Upload" class="button" /></td></tr>
                    </form>
                    ';

                    echo '
                    </table>
                    ';

                    if(isset($_POST['submitnewimage'])){
                        $name = $_FILES['upimage']['name'];
                        $temp = $_FILES['upimage']['tmp_name'];
                        $type = $_FILES['upimage']['type'];
                        $size = $_FILES['upimage']['size'];
                        if($name!=""){
                            include 'config.php';
                            $sql5 = mysql_query("SELECT * FROM images ORDER BY id DESC LIMIT 1");
                            while($row=mysql_fetch_array($sql5)) {
                                if(!isset($show2)){
                                    $id = $row['id'];
                                    $id = $id + 1;

                                    $show2 = "YES";
                                }
                            }

                            if(($type=="image/jpeg") || ($type=="image/jpg") || ($type=="image/gif") || ($type=="image/pjpeg") || ($type=="image/png")){
                                if($size<=100000){
                                    $pos = strrpos($name, '.');
                                    if($pos === false)
                                        $ext = "";
                                    $ext = substr($name, $pos);
                                    $newFilename = $id.$ext;

                                    move_uploaded_file($temp, "images/teamicons/".$newFilename);
                                    $im = new Imagick('images/teamicons/'.$newFilename); 
                                    $im->thumbnailImage(75,75); 
                                    $im->writeImage('images/teamicons/'.$newFilename);

                                    mysql_query("INSERT INTO `images`(`id`, `name`, `size`, `type`) VALUES (NULL,'$newFilename',$size,'$type')");
                                    $myusername = $_SESSION['myusername'];
                                    mysql_query("UPDATE `members` SET `img`= '$newFilename' WHERE `username`='$myusername'");

                                    header("Location:" . $_SESSION['prev_page']);
                                }else{echo "<tr><td colspan='2'><span style='color:#F00;'>The file, &quot;".$name."&quot;, is too large! Maximum allowed file size is 100kB.</span></td></tr>";}
                            }else{echo "<tr><td colspan='2'><span style='color:#F00;'>&quot;".$type."&quot; is not a valid file type!</span></td></tr>";}
                        }else{echo "<tr><td colspan='2'><span style='color:#F00;'>No file has been specified!</span></td></tr>";}
                    }

有没有办法改变图像的宽度和高度?


我已经成功使用了GD最近要做到这一点,特别是使用imagecopyresampled功能。


为了扩展一点......一旦我上传了图像(我不会详细讨论,因为这是一个完全不同的问题),我做了一些相当简单的事情,如下所示:

$original_info = getimagesize($filename);
$original_w = $original_info[0];
$original_h = $original_info[1];
$original_img = imagecreatefromjpg($filename);
$thumb_w = 100;
$thumb_h = 100;
$thumb_img = imagecreatetruecolor($thumb_w, $thumb_h);
imagecopyresampled($thumb_img, $original_img,
                   0, 0,
                   0, 0,
                   $thumb_w, $thumb_h,
                   $original_w, $original_h);
imagejpeg($thumb_img, $thumb_filename);
imagedestroy($thumb_img);
imagedestroy($original_img);

请注意,我尚未测试此代码。在这里只是为了让您对我的方法有一个基本的了解。

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

更改图像大小 - PHP 的相关文章

  • 通过 __get() 通过引用返回 null

    快速规格 PHP 5 3 error reporting 1 the highest 我正在使用 get 通过引用技巧神奇地访问对象中任意深度的数组元素 快速示例 public function get key return isset t
  • .htaccess 异常导致主目录出现问题

    这是我的目录结构 localhost or livehost app bootstrap public vendor code demo 这是我的 htaccess
  • PHP 开发相当于 Mongrel/Webrick 吗?

    PHP 开发中是否有与 Rails 开发期间使用 Mongrel Webrick 等效的方法 我通常在端口 3000 上使用 Mongrel 在开发过程中为我的 Rails 应用程序提供服务 我从事 PHP 开发已经有几年了 据我所知 方法
  • 如何使用 Facebook SDK API 为页面/网址“点赞”?

    我正在使用这段代码 facebook gt api me likes post array url gt http www google com 我收到以下错误 Fatal error Uncaught OAuthException 200
  • 如何使用 Twig 的属性函数访问嵌套对象属性

    我试图使用一个树枝变量来访问另一个树枝变量的属性 直到我找到 属性 函数为止 该变量才起作用 除了需要访问嵌套属性的情况外 效果很好 当包含属性的变量实际上是对象 属性时 它不起作用 例如 attribute object1 variabl
  • 如何在 PHP 中使用 cURL 发出同时包含 GET 和 POST 参数的请求?

    其他人已经问过如何从 perl java bash 等执行此操作 但我需要在 PHP 中执行此操作 并且我没有看到任何已提出的专门与 PHP 相关的问题 或包含 PHP 的答案 My code ch curl init url curl s
  • PHP:读取字体文件的 TrueType/OpenType 元数据

    如何阅读字体详细信息 例如 字体在其元数据中包含版权 姓氏 设计者 版本等信息 我还希望脚本能够计算文件中的字形数量 并返回字体支持的语言 例如 典型的字体可能包含西方语言 瑞典语和罗马语言支持 并具有数百个字形 它应该支持 truetyp
  • 如何解码 eval( gzinflate( base64_decode(

    我已将此代码注入到我的网站中 如何解码尾随字符串 我需要知道发生了什么以及其背后的代码是什么 这应该输出将被执行的代码eval 我希望这就是您正在寻找的
  • Laravel 5 中的自定义验证器

    我正在将 Laravel 应用程序从 4 升级到 5 但是 我有一个自定义验证器 但无法运行 在L4中 我做了一个验证器 php文件并将其包含在全局 php using require app path validators php 我尝试
  • 语法错误,第 288 行出现意外的“endif”(T_ENDIF)[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在离线处理我的 WordPress 网站的此代码错误 解析错误 语法错误 homez 541 photoher marie
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 使用php将数据存储到文本文件中?

    我正在尝试将数据存储在文本文件中 例如使用 php 将数组存储到文本文件中 而不是存储到 mysql 数据库中 例如 这里是要存储在文本文件中的数据 name gt john age gt 25 location gt australia
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • WordPress 插件中的类自动加载器

    我想编写一个类自动加载器以在 WordPress 插件中使用 该插件将安装在多个站点上 我想尽量减少与其他插件发生冲突的机会 自动加载器将是这样的 function autoload name some code here 我的主要问题是
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入

随机推荐

  • python 请求中的 OpenSSL 错误

    在带有 OpenSSL 版本 1 1 1i 和 pyopenssl 版本 1 1 1i 的 arch linux 上运行 python 版本 3 9 1 当尝试将 https 代理与 requests 模块一起使用时 出现以下错误 Trac
  • Excel 中的混合数据类型,IMEX 不起作用

    我正在尝试将 xls 导出到数据表中 下面是我的连接字符串 string path xls source path OleDbConnection MyConnection new OleDbConnection provider Micr
  • 如何使程序的第二个实例将控制权传递回第一个实例?

    我已经用 Delphi XE3 创建了一个应用程序 我的应用程序有一个托盘图标 我为此使用 TCoolTrayIcon 因此当用户最小化它时 任务栏上没有图标 而仅在托盘图标上 为了避免我的应用程序出现多个实例 我使用以下代码 proced
  • 停止运行“worksheet_change”或 worksheet_calculate

    我有一张包含大量代码的工作表 该代码中有 worksheet change 和 worksheet calculate 函数 在某些过程中 在处理此工作表时 有时会不必要地运行此代码 是否有一行代码会阻止运行 worksheet chang
  • 将命令应用于所有提交

    为了收集有关 Git 存储库的一些统计信息 我正在寻找一种方法来执行以下操作 对于每个提交 执行一个命令 例如 du h 该命令应该在提交后从存储库基目录 按照它看起来的样子 运行 理想情况下 该命令可以访问提交哈希值和时间戳 一个用准 B
  • 如何从脚本本身获取 Bash 脚本所在的目录?

    如何获取某个目录的路径Bash脚本位于 inside那个脚本 我想使用 Bash 脚本作为另一个应用程序的启动器 我想将工作目录更改为 Bash 脚本所在的目录 这样我就可以对该目录中的文件进行操作 如下所示 application usr
  • findViewById 未定义

    Eclipse 将 findViewById int 标记为未定义 它对 getResources 做了同样的事情 但我能够通过调用 context getResources 来解决这个问题 如下所示 并且似乎无法为 findViewByI
  • 如何在android中的canvas中添加3张图片

    我有 3 张图像 我想将它们依次添加到画布上 这是我的代码 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setConten
  • Xcode 10 似乎破坏了 com.apple.commcenter.coretelephony.xpc

    我已经升级到Xcode 10 on High Sierra现在激励广告示例项目来自 AdMob 的投诉com apple commcenter coretelephony xpc工作不正常 是否有我必须启用的新权利 我搜索了几个小时却没有任
  • 按两个属性对对象数组进行排序

    我有一个对象数组 我想按两个属性进行排序 提醒时间戳 修改时间戳 排序顺序 desc 按一个属性对这个对象进行排序不是问题 但在这种情况下我不知道如何让它工作 假设时间戳本身排序正常 例如 ISO8601 和相同时区 请尝试 myArray
  • 如何使用 Apple Symbols 字体中的字形?

    我想在我的应用程序中使用 Apple Symbols 字体中的一种字形 我在CharactersPallete 来自Snow Leopard 中打开这个字体 这个字形的 锁符号 id GID 是5003 它不是字形的unicode编号 如何
  • ShellExecuteEx 在 Excel VBA 中崩溃

    由于 Windows 更新发生 API 调用ShellExecuteEx sExecuteInfo 崩溃 说 0x75F7A529 处未处理的异常 shell32 dll 访问冲突 读取位置0x68686903 我不知道这里出了什么问题 你
  • 与 Tkinter 跟踪相关的回调函数有哪些限制?

    我试图弄清楚如何实现一个回调函数 它可以做一些比打印输出更有意义的事情 我相当缺乏经验 所以我不确定回调函数应该或可以如何在Python 或任何其他语言 中实现 考虑以下 Python 代码 from Tkinter import def
  • 前台本地通知

    在警报中 通知在后台工作正常 如下所示 UILocalNotification notification1 UILocalNotification alloc init notification1 fireDate alramtime no
  • Wordpress 管理面板上的 jQuery 错误(tinyMCE 未定义)

    将 Wordpress 从 3 2 升级到 3 5 后 我在管理端收到 jQuery 错误 下面是错误 Error ReferenceError tinyMCE is not defined Source File http domainn
  • WPF 虚拟树视图中的滚动错误

    我在 WPF 中使用虚拟化树视图来显示具有大量子节点 5000 的 3 级深度层次结构
  • R - 使用查找表替换数据框中的值

    最近 我在尝试使用查找表替换数据框或矩阵中的特定值时遇到了一些麻烦 所以这代表要修改的original data V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 1 255 255 255 25
  • 在 Java 中关闭流

    为什么我们需要关闭 FileInputStream 以及一般的流 任何状况之下在我们离开该计划之前 否则会发生什么 如果程序在程序中显式关闭输入流之前停止 那么该流不是也会自动关闭吗 文件句柄是稀缺的 有限的资源 如果不正确清理它们 您可能
  • Azure Function cosmosDB 触发器托管标识不起作用

    我为 cosmosDB 触发器创建了一个独立的 Azure 函数 我正在使用 Microsoft Azure Functions Worker Extensions CosmosDB version 4 0 0 preview2 来使用托管
  • 更改图像大小 - PHP

    我最近创建了一个上传功能 但我不知道如何将宽度和高度更改为 75px 我尝试了通过 Google 找到的一个代码 但我刚刚收到此错误 Fatal error Class Imagick not found in C wamp www Leg