親愛なるすべての専門家はdocument.writeの文字列とPHPの文字列を比較する際に問題がありました。var_dump(変数)を使用すると文字列が同じでないことがわかりますエコーの価値は同じですが、それを動作させることを知っている人はいますか?document.writeとphpの文字列の文字列を比較できません
$resolution_width = "<script type='text/javascript'> document.write(window.screen.width); </script>";
$resolution_height = "<script type='text/javascript'>document.write('#'+window.screen.height+'#'); </script>";
$screen_width=$resolution_width;
$screen_height=str_replace("#","",$resolution_height);
echo var_dump($screen_width);
$str='1280';
echo "<BR>";
echo "<BR>".var_dump($str);
if($screen_width=='1440'){
$width=1440;
echo $width;
}
elseif($screen_width=='1360'){
$width=1360;
echo $width;
}
elseif($screen_width=='1280'){
$width=1280;
echo $width;
}
elseif($screen_width=='1152'){
$width=1152;
echo $width;
}
elseif($screen_width=='1024'){
$width=1024;
echo $width;
}
elseif($screen_width=='800'){
$width=800;
echo $width;
}
これは私が出力しようとすると私の結果ですが、それはすべての比較で偽です。 私はこの文字列は同じだと思いますが、それはおそらく異なる変換です。
マイ結果:
string(78) "1280"
string(4) "1280"
のドキュメントを参照してください。これは基本的に不可能です:PHPはサーバー上で動作し、JavaScriptはクライアントで動作します。 JavaScriptからAjaxコールを別のPHPスクリプトに戻す必要があります。 –
あなたは私に方法を教えてもらえますか?それでは、本当に新しいですよね。 –
PHPでJavaScript式を評価することはできません。 PHPはサーバ上で動作するのに対して、Javascriptはブラウザ上で動作します。クライアント側の解像度を知りたい場合は、javascriptを実行して解像度をチェックし、解像度をパラメータとしてPHPファイルにリダイレクトする小さなhtmlファイルを作成します。 – Yaniro