PHP 在页面中嵌入图像
本文最后更新于:2024年3月18日 凌晨
PHP 在页面中嵌入图像
- 一个常见的误解是:图片和文字是通过同一个HTTP请求混合发送的,毕竟,当你看到一个网页时,图片和文字是混合在一起的,而实际上,一个包含图像和文字的标准Web页面是由一系列来自Web浏览器的HTTP请求来创建的,每一个请求的响应都来自于服务器,每个请求的响应只包含一种数据类型,每一个图像要求一个独立的HTTP请求和服务器进行通讯,因此当你看到包含一些文字和两幅图像的网页时,你就知道这个页面是由3次请求和响应的响应来完成的。
- 例如下面的HTML的页面:
1 2 3 4 5 6 7 8 9 10
| <html> <head> <title>Exaple Page</title> </head> <body> This page contains two images. <img src="image1.jpg" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> </body> </html>
|
1 2 3
| GET /page.html HTTP/1.0 GET /image1.jpg HTTP/1.0 GET /image2.jpg HTTP/1.0
|
- 服务器为以上每个请求发送一个单独的响应,响应汇总的Content-Type头是这样的:
1 2 3
| Content-Type: text/html Content-Type: image/jpeg Content-Type: image/jpeg
|
- 要在HTML页面中嵌入由PHP生成的图像,就要假设生成图像的PHP脚本本身就是图像,因此,如果我们有两个用来生成图像的PHP脚本
image1.php
和image2.php
,就可以将前例中的HTML代码改为:
1 2 3 4 5 6 7 8 9 10
| <html> <head> <title>Exaple Page</title> </head> <body> This page contains two images. <img src="image1.php" alt="Image 1"> <img src="image2.php" alt="Image 2"> </body> </html>
|
- 现在页面不在从你的服务器中读取真实存在的图像,img标签引用了生成图像的PHP脚本。
- 更进一步,你可以传递变量给这些脚本,这样我们不再需要不同的脚本来生成两个图像。
1 2
| <img src="image.php?num=1" alt="Image 1"> <img src="image.php?num=2" alt="Image 2">
|
- 在image.php脚本中,你可以访问
$_GET['num']
来生成合适的图像。