首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >图像源中的PHP文件

图像源中的PHP文件
EN

Stack Overflow用户
提问于 2014-06-08 15:09:26
回答 3查看 5.8K关注 0票数 0

我遇到了一种情况,以前的开发人员在图像中使用php文件,source.Here就是为此编写的代码

代码语言:javascript
运行
复制
<img class="large_image" src="http://www.example.com/common/resize.php?img=4_jisokupo_jpg&amp;d=467&amp;w=461&amp;h=307" id="large_image_1" style="display: inline;">

当我复制图片标签的源代码并在浏览器中运行并检查它的源代码时,它再次给我图片标签

代码语言:javascript
运行
复制
<img class="decoded" src="http://www.example.com/common/resize.php?img=4_jisokupo_jpg&amp;d=467&amp;w=461&amp;h=307" alt="">

请指导他们在做什么?是img src中的img标签吗?

我知道这是一个常见的问题,但我是PHP新手。

更新:我们可以在src中使用php文件吗?它应该在php文件中做什么?

EN

回答 3

Stack Overflow用户

发布于 2014-06-08 15:29:42

实际上您可以使用PHP来生成镜像,例如:

代码语言:javascript
运行
复制
$contents = file_get_contents('path_to_an_image.jpeg');
header('Content-type: image/jpeg');
echo $contents;

这只是一个例子来澄清你,但在你的问题中,情况是不同的。看起来,正在调用http://www.example.com/common/resize.php,并将查询字符串传递给该脚本,以便该脚本可以使用以下命令访问这些参数:

代码语言:javascript
运行
复制
// in resize.php
$img = $_GET['img']; // 4_jisokupo_jpg
$d = $_GET['d']; // 467
$w = $_GET['w']; // 461
$w = $_GET['h']; // 307

然后,在调整图像大小后,将返回新图像,请查看imagejpeg / imagecreatefromjpeg以了解更多想法。因此,当脚本运行以回显<img src='some.php' />时,将执行some.php文件来传递图像,并在浏览器中打印动态图像。

YouTube (PHP Custom Image Cropping Tutorial)上查看以下视频,了解有关使用PHP处理图像的更多信息。

票数 1
EN

Stack Overflow用户

发布于 2014-06-08 15:21:27

当您在web浏览器中查看源代码时,您看到的是生成它的PHP的解释过的php/html/等输出;这就是您感到困惑的原因。我建议查找一些关于PHP的介绍性课程,以便从服务器和客户端的角度更好地理解事物是如何工作的。

代码语言:javascript
运行
复制
              SERVER
      .----Website (PHP)-----------------------------------------------.
      |        |                                                       |
      |        |                                                       |
      |        |______Image Class "large_image"                        |
      |                          |                                     |
      |                          |                                     |
      |                          |____source "some large image"        |
      |                                          |                     |
       \_______  ________________________________|_____________________/
               ⬇

             CLIENT    
      .------Web Browser (rendered PHP)--------------------------------.
      |        |                                                       |
      |        |                                                       |
      |        |_______Image Class "decoded"                           |
      |                          |                                     |
      |                          |                                     |
      |                          |_____source "same large image"       |
      |                                                                |
      \________________________________________________________________/
票数 0
EN

Stack Overflow用户

发布于 2014-06-08 15:38:18

当您从html复制src并将其放入浏览器中时,发生的情况是您在浏览器中打开由PHP动态创建的图像。

当您直接在浏览器中打开图像时,浏览器会在其DOM中生成一些非常简单和基本的html,以显示您直接打开的图像。这就是当您检查Element并转到HTML选项卡时所看到的内容。如果你仔细观察,一旦直接打开图像,你甚至看不到“查看源代码”按钮。您只能看到Inspect Element按钮。

超文本标记语言不是源代码,而是你正在查看的‘页面’的DOM表示。

关于您的编辑

因此,src中的php文件是一个动态创建图像并输出其二进制数据的文件。这是可能的,在WereWolf的答案-阿尔法中有更多的解释。您的浏览器可以识别该二进制数据,并从中渲染出一个图像。(部分是因为它知道它是作为'img‘标签的'src’打开的,所以它期望url将返回一个图像。但主要是因为发送的“content-type”报头也告诉我们数据是图像。)

它只是当浏览器将这些二进制数据显示为图像时,浏览器本身会在DOM中生成一些HTML,因此图像将显示为“html”页面。因为,嘿,这就是浏览器所做的,他们想向你展示HTML :)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24103848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档