Так что я сейчас работаю над фрагментом кода, который довольно глупо ошибочно.Невозможно преобразовать в 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
Думаю, он никогда не работал. Кто-то задумался о том, что это такое. –