今天在查询PHP官方手册时有两个函数
php_logo_guid
和
zend_logo_guid
引起了我的兴趣,其函数原型以及返回内容如下:
string php_logo_guid ( void );
// Returns PHPE9568F34-D428-11d2-A769-00AA001ACF42
string zend_logo_guid ( void );
// Returns PHPE9568F35-D428-11d2-A769-00AA001ACF42
这两个函数返回的以PHPE95..开头字符串,这个字符串有什么用呢?比如
php_logo_guid
手册举了一个例子:
<?php
echo '<img src="' . $_SERVER['PHP_SELF'] .
'?=' . php_logo_guid() . '" alt="PHP Logo !" />';
?>
如果一切正常的话,页面会输出一个PHP Logo,实际上图片地址存在任意的php页面后跟?=PHPE9568F34-D428-11d2-A769-00AA001ACF42这样的guid串,如果PHP是默认配置的话每个PHP页面都能找到,比如说有index.php,可以尝试访问
index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
,再看一下zend_logo_guid显示的图片,现在有些眼熟了吧,没错这些图片都被
phpinfo()
输出信息所调用。
我们可以在PHP 源码的 ext/standard/info.h 中找到相关标识图片GUID的定义: