0

これで私を助けてください。外部jsファイルから値を取得できる次のコードがあります

$phpBsetB= "<script>document.write(BsetB)</script>";
echo $phpBsetB;

BsetB に文字列「abcde」が格納されていると仮定します。上記のコードは、abcde である変数 BsetB を単純に出力します。私の質問は、次のコードを追加する場合です

$handle = fopen("test.js", "w");
fwrite($handle, $phpBsetB);
fclose($handle);

test.js に保存されるのは abcde ではなく、保存されたものです

<script>document.write(BsetB)</script>

abcdeを保存する方法はありますか?助けてくれてどうもありがとう!

迅速な助けをありがとう!私がやろうとしていることについてもっと説明する必要があると思います。たぶん、これを解決するためのより良い方法を見つけることができます。test.js という外部フラット ファイルをロードする Web ページがあります。test.js で、いくつかの変数を宣言しました。私がやろうとしているのは、このWebページは現在、test.jsからすべての変数を正しく読み取りますが、test.jsファイルを書き込み/更新しません。Web ページでこの test.js を書き込み/更新できるようにしたい。JavaScriptはサーバー側で書くことができないので、私はphpを使って書き込もうとしています。ポイントは... test.jsファイルをロードする必要があるため、書き込み/更新できます。私のWebページは現在jsを使用して読み取りを行っているため、コードが非常に混乱しています...私はjavascriptを使用してjsファイルを読み取る方法しか知りません。値を取得したら、この js 変数を php に渡す必要があります。または、js の代わりに php フラット ファイルを作成する必要がありますか? あなたの助けに本当に感謝します!!!

4

3 に答える 3

2

次の行は文字列として解釈されます。

$phpBsetB= "<script>document.write(BsetB)</script>";

クライアント側(javascript)からサーバー側(php)に値を送信するリクエストを作成する必要があります。

于 2012-12-01T03:40:07.570 に答える
0

あなたはphpとjavascriptを混同しています。それらはtendomで実行されません。

<script>document.write(BsetB)</script>変数ではないため、結果は常になりますBsetB。値はまったく保持されません。

この値をどこかから受け取っている場合は、次のようになります

$BestB = "abcde";
$phpBsetB= "<script>document.write($BsetB)</script>";
echo $phpBsetB;

$handle = fopen("test.js", "w");
fwrite($handle, $phpBsetB);
fclose($handle);
于 2012-12-01T03:42:14.607 に答える
0

PHP は JavaScript 関数を実行することも、タグを処理することもできません。これはブラウザーの仕事です。PHPは、出力するように指示したものを単純に出力します。つまり、次のとおりです。<script>document.write(BsetB)</script>

その関数をブラウザーで実行する場合は、出力にエコーするか、script タグを介して test.js ファイルを含めます。

そうは言っても、BsetBJavascript変数が定義されていないため、JavaScriptエラーが発生します

そのはず

$BsetB= "<script>document.write('abcds')</script>";
echo  $BsetB;

ブラウザ出力 abcds

また

$my_output = "abc";
$BsetB= "<script>document.write('".$my_output."')</script>";

echo $BsetB;
于 2012-12-01T03:44:56.473 に答える