2010-10-28 21 views
1

我有一個頁面,其中的onclick上的一個按鈕多行文件內容顯示從該文件中的文本區域的頁面如何顯示在JavaScript

javascript函數

function displayOutput() 
    { 
    <?php 
     $logfile = "hello"; 
     $fh = fopen($logfile, 'r'); 
     $size = filesize($logfile); 
     if($size == 0) 
       { 
      echo "Log file is getting generated"; 
       } 
     else{ 
      $theData = fread($fh, $size); 
      $data = trim($theData); 
      } 
     fclose($fh); 
    ?> 
    var html = "<?php echo $data; ?>"; 
    document.form.text1.value = html; 
} 

使用該上的文字內容函數我只能在文件包含一行時正確顯示文件內容。

我想在textarea中顯示多行。我嘗試刪除$ data = trim($ theData),但沒有看到輸出。如果我回顯$ theData,我可以看到所有的文件內容,但在一行。我也嘗試使用while(!feof(filename)),但即使這樣也行不通。

如何使用javascript在新行上顯示文件的所有內容?

回答

1

試試這個:

<?php 
    $logfile = "hello"; 
?> 
function displayOutput() 
{ 
    var html = <?php 
     echo filesize($logfile) 
      ? json_encode(file_get_contents($logfile)) 
      : '"Log file is getting generated"'; 
     ?>; 
    document.form.text1.value = html; 
} 

編輯到包括filesize=0條件

+0

這看起來基本上你想要的東西,但因爲你是直接設置文本,你不會想'json_encode( );'輸出。您將希望將其封裝在字符串中,並且可能需要轉義文件內容中的任何字符串字符。 – 2010-10-28 00:55:52

+0

'json_encode'返回一個js字符串,當你將它傳遞給一個php字符串時(我剛剛測試過) – cambraca 2010-10-28 01:00:01

+0

謝謝...它的工作原理! – Neha 2010-10-28 01:18:17