因此,我目前正在研究一段相当愚蠢的错误代码。无法从字符串转换为int在PHP中
function screenWidth($buffer)
{
global $widthTest;
$widthTest = $buffer;
}
ob_start("screenWidth");
$screenWidth = '<script type="text/javascript">document.write(parseInt(document.documentElement.clientWidth));</script>';
echo $screenWidth;
$width = ob_get_contents();
ob_end_clean();
echo $width;
echo $widthTest;
这将导致一个字符串,它给我的屏幕宽度,没有javascript,这是美妙的。但是,由于某些原因,我无法将其转换为整数。
我错过了什么吗?我用纯文本运行它,它肯定会返回数字,而不仅仅是JavaScript。它被存储为一个字符串,如果我尝试使用intval或(int)$ width来转换它;那么它每一次都返回0。
我意识到以这种方式做事的陷阱,但不幸的是,这是遗留代码,必须以各种原因这样做。
任何人有任何想法?
我真的不明白这是如何工作的? PHP代码首先在服务器上执行。然后它将结果发送到JavaScript执行的用户浏览器...... PHP无法从该javascript获得任何回报。 –
这已经在这个特定的网站上一段时间了(最初不是我写的),而且我被要求更新它。我曾想知道是否是这种情况。 – ukitconsultant
我想它从来没有工作。有人对此做出了一个嘘声。 –