我正在编写一个php代码,其中一个方法返回以下文本,该文本将显示图像,
$ret = "<div align='"center'">" .
"<image src='"" . "${webserviceDir}Graph.php?usr_id=" . urlencode($usr_id) .
"&locale_id=" . urlencode($locale_id) .
"&session_key=" . urlencode($session_key) .
"&websession=" . urlencode($websession) .
"&lsweb_moca_service=" . urlencode($lsweb_moca_service) .
$service_qualifiers .
$usr_dash_args .
"'">" .
"</div>";
在 IIS 服务器中,这将按预期显示图像。
其中,就像在 Apache 服务器中一样,它返回以下内容:
*divalign=centerimage src=Graph.php?usr_id=BRUNNERMlocale_id=USsession_key=%3Buid%3%7Csid%3Dv0websession=54deeabc51427e580alsweb_moca_service=http%3A%2F%2F1234%3A4600%2/div *
如您所见,它只返回字符串,但没有尖括号"<>"。我不确定为什么此问题只发生在 apache 服务器中而不是在 IIS 服务器中。
请帮忙。我想知道为什么它在APACHE服务器中表现得像这样的原因
注意:我使用双引号而不是单引号的原因是因为我返回了很多动态信息。
为什么不使用单引号而不是转义"
-
$ret = "<div align='center'>" .
"<image src='" . "${webserviceDir}Graph.php?usr_id=" . urlencode($usr_id) .
"&locale_id=" . urlencode($locale_id) .
"&session_key=" . urlencode($session_key) .
"&websession=" . urlencode($websession) .
"&lsweb_moca_service=" . urlencode($lsweb_moca_service) .
$service_qualifiers .
$usr_dash_args .
"'>" .
"</div>";