2010-10-28 87 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