Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在javascript中显示多行文件内容_Php_Javascript_Html_File - Fatal编程技术网

Php 如何在javascript中显示多行文件内容

Php 如何在javascript中显示多行文件内容,php,javascript,html,file,Php,Javascript,Html,File,我有一个页面,其中onclick在页面的文本区域中显示文件中的文本内容 javascript函数 function displayOutput() { <?php $logfile = "hello"; $fh = fopen($logfile, 'r'); $size = filesize($logfile); if($size == 0) {

我有一个页面,其中onclick在页面的文本区域中显示文件中的文本内容

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;  
}  
函数显示输出()
{
var html=“”;
document.form.text1.value=html;
}  
使用此功能,仅当文件包含一行时,我才能正确显示文件内容

我想在文本区域显示多行。我尝试删除$data=trim($theData),但没有看到输出。如果我回显$theData,我可以看到所有的文件内容,但只有一行。我还尝试使用while(!feof(filename)),但即使这样也不起作用

如何使用javascript在新行上显示文件的所有内容

试试这个:

<?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;
}

函数displayOutput()
{
var html=;
document.form.text1.value=html;
}
已编辑以包含
filesize=0
条件

请尝试以下操作:

<?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;
}

函数displayOutput()
{
var html=;
document.form.text1.value=html;
}

编辑以包含
filesize=0
条件

这看起来基本上是您想要的,但是由于您直接设置文本,您将不希望
json_encode()输出。不过,您可能希望将其包装为字符串,并且可能需要转义文件内容中的任何字符串。
json\u encode
当您将类似的php字符串传递给它时,会返回一个js字符串(我刚刚测试过它)。我还希望每次单击按钮时都重新加载文件。由于它是一个日志文件,因此会添加新内容。我可以这样做吗?这看起来基本上是您想要的,但是因为您直接设置文本,所以您不会想要
json_encode()输出。不过,您可能希望将其包装为字符串,并且可能需要转义文件内容中的任何字符串。
json\u encode
当您将类似的php字符串传递给它时,会返回一个js字符串(我刚刚测试过它)。我还希望每次单击按钮时都重新加载文件。由于它是一个日志文件,因此会添加新内容。我可以这样做吗?