0
$file =  fopen("teste.php","r");
$members[]="";
$i=0;
while (!feof($file)) {
    $members[] = fgets($file);
    ?>
        <script>
            alert('<?php echo fgets($file); ?>');
        </script>
    <?php
}

これは私のコードです。アラートが空になる理由を教えてもらえますか?

4

4 に答える 4

0
$members[] = fgets($file);
?>
    <script>
        alert('<?php echo fgets($file); ?>');
    </script>

fgets呼び出されるたびに内部ポインターを前方に移動します。あなたのファイルは1行のテキストだと思います。

そのため、 に読み込まれ$members、ポインタはファイルの最後にあります。したがって、次の呼び出し (アラートに入れられたもの) は何も返しません。

試す$tmp = fgets($file); $members[] = $tmp; ... alert('<?php echo $tmp; ?>');

于 2013-06-20T15:27:47.170 に答える
0

スクリプトでは、すでに EOF になっている可能性があります。

スペクテッド結果を取得するには、次を試してください

  $file =  fopen("teste.php","r");
    $members[]="";
    $i=0;
    while (!feof($file)) {

        ?>
            <script>
                alert('<?php echo fgets($file); ?>');
            </script>
        <?php
    }

また

  $file =  fopen("teste.php","r");
    $members[]="";
    $i=0;
    while (!feof($file)) {
        $members[] = fgets($file);
        ?>
            <script>
                alert('<?php echo fgets($file); ?>');
            </script>
        <?php
    }

于 2013-06-20T15:24:25.180 に答える