" [关闭]" /> 在一个 .php 中使用 header('Content-type: image/png') 和 echo"<html>" [关闭]

在一个 .php 中使用 header('Content-type: image/png') 和 echo"" [关闭]

2023-12-12

我想用imagecreatefromjpeg, imagecreatetruecolor, imagecopyresized and imagejpeg同时利用echo "<html><body>"; etc...

由于某种原因我得到"The image could not be displayed because there were errors on the page"直到我评论出来header('Content-type: image/png');然后我就得到了一张破损的图片,就像一张撕破的页面。

我所看到的只是我无法拥有的header('Content-type: image/png');和 html 在同一个 .php 文件中。如果是这种情况,有人可以告诉我如何调整缩略图库的图像大小,同时 .php 文件中仍然包含 html 吗?

提前致谢。


你混淆了两种不同的东西。

带有图像的网页不contain那个形象一般。相反,它通常指的是外部来源。我说一般来说,因为,是的,一个图像can嵌入到 HTML 页面中,请参见下文。

您有两个选择:

  • 您可以创建一个单独的 PHP 文件,在其中创建图像并输出其字节。在您的 HTML 代码中,您引用该图像:

    页面.html:

    <html>
        <body>
            <img src="myimage.php" alt="" />
        </body>
    </html>
    

    myimage.php:

    <?php
    
    header("Content-Type: image/png");
    createimageandso_on();
    // Do the drawing.
    
    ?>
    
  • 或者您可以使用 base64 编码将图像嵌入到 HTML 文件中:

    <?php
    
    $contents = all_bytes_from_created_image();
    // Get the bytes from the created image.
    $base64 = base64_encode($contents);
    
    ?>
    <html>
        <body>
            <img src="data:image/png;base64,<?php echo $base64; ?>" alt="" />
        </body>
    </html>
    

第二个选项适用于较小的图像,因为 Base64 编码的字符串将生成大部分文本。


Edit

如果我理解正确的话,您想从目录中读取图像并将它们调整为相同大小,并将它们用作缩略图?

您可能只想创建一个 PHP 文件,在其中读取源图像并赋予它们相同的大小。

就像“普通”PHP 文件一样,PHP 可以使用您提供的请求参数执行某些操作。也许你曾经见过这样的:

问号后面的字符串(key=value&anotherkey=anothervalue) 是查询字符串。 PHP 可以对这些值做一些事情:

<?php

echo $_GET['key']; // returns "value"
echo $_GET['anotherkey']; // returns "anothervalue"

?>

现在我们可以在创建图像时做同样的事情。您不必使用几乎相同的代码创建 20 个 PHP 文件,而只需使用一个文件来读取文件(您指定的)并将其大小调整为指定的宽度(您指定的)和高度(您指定的)。

缩略图.php

<?php

// Get some request parameters we're going to use.
// We're expecting the parameters below to exist.
$file = $_GET['filepath'];
$width = $_GET['width'];
$height = $_GET['height'];

// Now we're gonna create the image from the given file.
$src = imagecreatefromjpeg($file);
imagecreatetruecolor($width, $height);
// And the rest of the file reading and image creation.

header("Content-Type: image/jpeg");
imagejpeg($image);

?>

网页.html

<html>
    <body>
        <?php

        $width = 100;
        $height = 100;
        $files = read_some_directory_and_return_a_list_of_filenames();

        foreach ($files as $file) {
            // Echo an image tag in the HTML document;
            // use as image our thumbnail.php file and give it a query string:
            echo "<img src=\"thumbnail.php?width=".$width."&height=".$height."&filepath=".$file."\" alt=\"\" />";
        }

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

在一个 .php 中使用 header('Content-type: image/png') 和 echo"" [关闭] 的相关文章

  • zend 表单验证

    我想知道 Zend Form 如何验证输入 我的意思是它如何知道要验证哪些输入字段 我查看了 php 全局变量 POST GET 但没有看到任何设置为标识符 例如 的内容 以便了解如何验证 有人能给我推荐一些关于这些东西的指南吗 好吧 找出
  • use 语句顺序会影响 PHP 中的功能吗?

    我使用 PHP 的命名空间已经有一段时间了 我认为它对我的编程来说是一个很好的补充 今天早上我想知道一些关于use陈述 我想知道顺序是否use影响我的 PHP 代码的功能 根据 PHP net 使用别名引用外部完全限定名称或导入的能力是命名
  • cuda 文件组织的有效方式:.cpp .h .cu .cuh .curnel 文件

    cuda最容易理解 最高效的代码组织是什么 经过一番调查后 我发现 cuda 函数声明应位于 cuh 文件中 实现位于 cu 文件中 内核函数实现位于 curnel 文件中 其他 C 内容通常在 cpp 和 h 文件中 最近我发布了一个问题
  • PHP 中的静态类初始值设定项

    我有一个带有一些静态函数的辅助类 类中的所有函数都需要一个 重 初始化函数来运行一次 就好像它是一个构造函数 有实现这一目标的良好实践吗 我唯一想到的就是打电话init函数 如果它已经运行过一次 使用静态 initialized变种 问题是
  • 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
  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • CSS如何制作可滚动列表

    我正在尝试创建一个由标题和标题下方的项目列表组成的网页 我希望项目列表可以垂直滚动 我还希望网页占据整个窗口 但不要更大 目前我的问题是项目列表不可滚动 而是延伸到窗口底部下方很远 这导致窗口可滚动 应该做什么CSS属性位于html bod
  • 如何防止输入文本中出现“后重音”

    我相信这是一个简单的问题 但在谷歌上搜索几个小时后我找不到任何答案 也许我无法在搜索中使用正确的单词 P 我有一个 javascript 方法 可以防止用户用数字以外的其他字符填充文本框 如下面的代码所示 它在 KeyDown 事件中使用
  • 将 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
  • IE localStorage 事件失火

    在 Internet Explorer 9 和 10 中 localStorage 实现意外地触发事件 这里有很棒的线索 Chrome 的 localStorage 实现存在错误 https stackoverflow com questi
  • 将文本字段限制为仅包含数字的最佳方法?

    I m using the following Javascript to restrict a text field on my website to only accept numerical input and no other le
  • 如何从另一个数组值中过滤数组值并返回新数组? [复制]

    这个问题在这里已经有答案了 我有两个数组 all languages and taken languages 第一个包含所有语言 例如 200 种或其他语言 第二个包含之前选择的语言 从 0 到 200 种 我需要删除所有已采用的语言 ta
  • 自定义 WordPress 画廊 html 布局

    当使用默认媒体上传器在 WordPress 中创建图像库时 WordPress 将图像包装在一堆 HTML 标记中 如何在生成之前覆盖它 以便我可以输出所需的标记并更改创建图库布局的方式 目前 WordPress 生成的代码如下 div d
  • 2 使用我的代码在数组中查询

    我使用滑块来显示我的 WordPress 精选文章 它选择一个自定义类别并返回一定数量的帖子 如何将显示的第一篇帖子设为自定义帖子 我可以直接在滑块代码中添加特定帖子的 ID吗使该帖子首先出现 然后是原始查询返回的其他内容 例如 在页面上
  • PHP date() 和 strtotime() 返回错误的月份 31 日

    我在用着date and strtotime 函数在下拉列表中显示接下来的 3 个月 PHP代码 echo date m Y strtotime 0 months echo date m Y strtotime 1 months echo
  • 标题的下边框小于宽度

    我需要创建一个下划线效果底部边框小于h2标题的宽度 通常我不上传图片 但我认为这可能有助于进一步解释问题 您可以为此使用伪元素 例子 http jsfiddle net SZ39x pseudo border position relati
  • html中锚标记中href和data-href的区别

    html中的href和data href属性有什么区别 a a 标签 我当前的代码写如下 a href verify phone process 1 html class btn btn default bubbla btn Sign In
  • 使用 Swift 邮件程序发送邮件时出现错误 501

随机推荐