1

flush()「Internet Explorer」を使用した HTML テーブルに問題があります。次のコードを編集して、テーブルに「リアルタイム」エコーを表示するようにしました。「Internet Explorer」では機能しないため、タグの後flush()flush()呼び出しを追加しましたが、</table>サイクルはテーブルに入り、他の人は外に出ます。何か助けはありますか?

<html lang="en">
<head>
</head>
<table border='1'>
<tr>
<td>

<?php

 $total = 10;

 for($i=1; $i<=$total; $i++){

 echo "sometext";

 //other stuff

    ?>

</td>
</tr>
</table>
<?php
echo str_repeat(' ',1024*64);

flush();
    sleep(1);

}

?>
</body>
</html>
4

3 に答える 3

0

ブラウザーは、すべてのセルの内容を認識しておらず、列の幅も認識していないため、閉じるのを待っている可能性があります。td 要素の固定値でヒントを与えるようにしてください。次に例を示します。

<td style="width: 200px">
于 2013-06-10T16:13:20.773 に答える
0

簡単に言えば、ループの外側ではなく、ループの内側でテーブルを閉じました。そのため、最初の繰り返しの後、テーブル タグが一致しません。</table>閉じループの中括弧を超えて移動します}

Internet Explorer の問題について。これを見たいと思うかもしれません: http://php.net/manual/en/function.flush.php

データのフラッシュを開始する前に一定量のバイトを必要とする Internet Explorer の一部のバージョンについて説明しています。また、ステートメントob_flush();の上に電話をかけてみることもできます。flush();

于 2013-06-10T15:57:18.050 に答える
0

ループ内でテーブルを閉じています。

<html lang="en">
<head>
</head>
<body>
<table border='1'>
<tr>
<td>

<?php

 $total = 10;

 for($i=1; $i<=$total; $i++){

 echo "sometext";

 //other stuff

  echo str_repeat(' ',1024*64);

  flush();
  sleep(1);
}

?>
</td>
</tr>
</table>

</body>
</html>

証拠:ここに画像の説明を入力

于 2013-06-10T15:52:00.543 に答える