ここで私は、コードが正常に私の地元のボックスに実行するようにしてうまく管理方法は次のとおりです。
js_php.php内容:
<html>
<head><title></title></head>
<body>
<div id="output"></div>
<?php
$myfile = fopen("./text_file.txt", "r");
$pass = fread($myfile,filesize("text_file.txt"));
fclose($myfile);
?>
<script>
var myVar = "<?php echo $pass ?>";
document.getElementById("output").innerHTML = myVar;
console.log(myVar);
</script>
</body>
</html>
text_file.txt内容:
Just another textfile :)
は、
js_php.phpの結果HTMLコード:
<html>
<head><title></title></head>
<body>
<div id="output"></div>
<script>
var myVar = "Just another textfile :)";
document.getElementById("output").innerHTML = myVar;
console.log(myVar);
</script>
</body>
</html>
コードは動作しますが、PHPからJavaScriptへのデータをより洗練された方法で高速に渡すことができます。次のようにOPは、クエリ文字列の一部としてデータを渡すことができた:
改訂js_php.php
<?php
$myfile = fopen("./text_file.txt", "r");
$pass = fread($myfile,filesize("text_file.txt"));
fclose($myfile);
header("location: js_php.html?" . urlencode("qs=$pass"));
exit;
js_php.html:
<html>
<head><title></title></head>
<body>
<div id="output"></div>
<script>
var qs = location.search;
var data = decodeURIComponent(qs);
var split = data.split("=")[1];
split = split.replace(/\+/g," ");
document.getElementById("output").innerHTML = split;
console.log(data);
</script>
</body>
</html>
注:PHPとJavaScriptないために同じ方法でスペース文字をエンコードしないでください。デコードされたJavaScriptはスペース文字で置き換える必要がある "+"文字を持ちます。これを行うために、正規表現はすべてのデータをグローバルに置き換えます。
これは、生のPHPコードを出力しますか?どの部分が解釈されていないのですか? – Wndrr
JavaScriptを式から外してみることはできますか?あなたのPHPが必ずしも実行されていないように思えます。 '
jsコードのファイルに '.phtml'や' .php'のようなファイル拡張子が付いていることを確認してください – mega6382