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

這是我的代碼,有人能告訴我爲什麼警報是空的嗎?php上的代碼無法正常工作javascript

+0

什麼是「teste.php」的內容是什麼? –

+0

'fgets($ file)'是什麼? –

+1

此外,fopen會得到php文件的內容,它不會執行,如果這是你想要的。 –

回答

0

假設你的意思是你要當服務器在PHP代碼達到某個點時的警告,要求其瀏覽器中彈出,答案是「不」,你不能

雖然服務器正在運行你的php代碼,沒有與瀏覽器聯繫(直到響應開始回來)。有些情況下,一臺服務器可以是流媒體內容返回給瀏覽器的情況下,在這種情況下,它會是可能有一些服務器商定的約定,以紀念與郵件內容流立即驚動了,但我不認爲這是你在這裏問的。

+0

其實,我以前有過一些樂趣。如果你有興趣,請選中[這](http://en.wikipedia.org/wiki/Push_technology#Long_polling)出來,可以在頁面加載到瀏覽器中,並將它發送控制一下瀏覽器的小腳本標籤在飛行中。 –

0

腳本,你可能已經在EOF。

爲了讓您的spected結果嘗試

$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 
    } 

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

fgets移動每次調用時的內部指針向前。我猜你的文件是一行文字。

所以被讀入$members,然後將指針是在文件的結尾。因此,下一次呼叫(即被置於警戒狀態的呼叫)不會返回任何內容。

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

0

這是我的代碼,可一些告訴我爲什麼警報來了空?

<?php 

$file = fopen("teste.php","r"); 
$members[]=""; 
$i=0; 
while (!feof($file)) 
{ 
    $line = fgets($file); //move the cursor 
    $members[] = $line; 

     echo "<script>"; 
     echo "alert($line);"; 
     echo "</script>"; 

} 

?> 

很晚了,我知道。我正在尋找一些與fopen有關的事情,並認爲我會添加解決方案,因爲我偶然發現了這個問題。