我目前正在创建一个 php 页面,该页面从一个 API 接收图像并显示该图像(此 php 允许用户使用 GET 方法定义图像尺寸)。
我希望这个 php 文件在选项卡上显示图像的名称(或我想放在那里的东西)。只用php可以吗?
这是我当前的代码:
$filename = "...";
// Content type
header('Content-Type: image/jpg');
//I tried this but this is just for download
// header('Content-Disposition: Attachment;filename=image.png');
...
// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = 150;
$newheight = 150;
...
// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefrompng($filename);
// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Output
imagepng($thumb);
PHP 无法直接控制浏览器。事实上,浏览器根本不知道 PHP 的存在。
HTTP 的工作方式,从浏览器的角度来看是这样的:
https://example.com/foo/bar?a=1#bar
https://
和下一个 /
之间)并连接到它在那里看到的任何服务器(例如 example.com
)#
符号的所有内容,如果有的话),并向服务器发送请求,例如GET /foo/bar/?a=1
Content-Type
,它告诉浏览器正文数据是 HTML 页面、JPEG 图像、PDF 等。从 PHP 的角度来看,一切都发生在步骤 3 和 4 之间:
GET /foo/bar/?a=1
希望这可以解释为什么不能有任何特定于 PHP 的方法来更改浏览器选项卡的标题。只有两件事可以影响它:
没有用于指定浏览器选项卡标题的 HTTP 标头。如果您要输出 HTML 页面,则可以在 响应正文
中使用
<title>
标签。但 JPEG 或 PNG 文件没有“标题”,因此无法输出该文件。
但是,您可以生成一个 HTML 页面,并且 在该页面中 有一个 <img>
标签指向实际 图像。