0

2つのphpタグと1つのscriptタグを含むphpページを作成しました。

<?php
$value = $_GET['hash'];
?>
<script>
function execute(){
<?php
$readfile = file($value);
for ($k=0;$k<=count($readfile)-1;$k++){
$cmd = $readfile[$k];
echo $cmd;}
?>
}
</script>

別のphpタグ内で$valueを使用したいのですが(上記のように、開きたいファイルがあります)、それを実行できません。変数のスコープは1つのphpタグに制限されていますか?はいの場合、どうすればこの問題を解決できますか

4

2 に答える 2

4

コードは完全に機能します。1つのPHPタグの変数は、PHP関数内で定義しない限り、他のすべてのタグからアクセスできます。

画面にエコーが表示されないのは、エコーがJavascript関数に出力されるためです。

生成されたページのソースを表示すると、ファイルの内容がそこに表示されます。

これを試して:

function execute(){
    <?php
    $readfile = file($value);
    for ($k=0;$k<=count($readfile)-1;$k++){
        $cmd = $readfile[$k];
    ?>
        alert( <?php echo $cmd; ?> );
    <?php
    }
    ?>
}

execute();
于 2013-01-30T07:05:07.063 に答える
0

$ valueがgetの場合、ファイルとしてアクセスする必要はありません。短い文字列である必要があります。

7行目のすぐ上($ readfile = file ...と入力したもの:

echo "alert(The hash value is: ".$value.")";

これにより、(スクリプトタグにあるように)アラートが表示されます。開始タグに含める必要のあるps

于 2013-01-30T07:02:55.753 に答える