2

我有一个像这样的简单 php 代码:

    //index.php
    $file  = fil1.txt;
    //open file using fopen...
    echo $file;

如果我需要在另一个 php 文件(ex result.php)的新选项卡中打印我的文件数据,我该怎么办?

这是我的真实代码示例:

function elementStart($parser, $name, $attrs) {
global $depth;

echo str_repeat(" ", $depth * 0); 
//echo "<b>$name</b><br>";     

$depth++; 

    foreach ($attrs as $attr => $value) {
        echo str_repeat("&nbsp;", $depth * 0); 

        echo $value.'<br>';
    }
}

function elementStr($parser, $str) {
    if (strlen(trim($str)) > 0) {
        global $depth;

        echo str_repeat("&nbsp;", $depth * 0); 
        echo $str.'<br>'; 
    }
}

function elementEnd($parser, $name) {
    global $depth;

    $depth--;
}

require_once 'connect.php';

if(isset($_POST['submit1']))
{

$db = new database('localhost', 'root', '', 'database1');
$val = mysql_escape_string($_POST['xml1']); 
$db->query("SELECT * FROM xmltable1 WHERE xmlvalue LIKE '%$val%' LIMIT 1");
if($_POST['submit1'])
{



    if($dbase->numRows() == 0){
        echo 'No rows';
    }
    else{
        foreach($db->rows() as $name){
            //echo $name['xmlvalue'];

            define('FOLDER_PATH', 'C:user/folder1/xmld/');
            $full_path = FOLDER_PATH.$name['xmldata'];
            //echo $full_path;
                    $depth = 0;
                    $file  = $full_path;

                    $xml_parser = xml_parser_create();

                    xml_set_element_handler($xml_parser, "elementStart", "elementEnd");
                    xml_set_character_data_handler($xml_parser, "elementStr");


                    while ($data = fgets($fp)) {

                    thexml_parser_free($thexml_parser);

            }

        }
    }

$dbase->disconnect();
}

在我的函数中有回声。当然,我会在当前页面中得到回显,但我需要在新标签中回显。

4

2 回答 2

1

将数据传递到另一个窗口(或选项卡)中的另一个 PHP 文件的唯一方法是使用会话。

在两个 PHP 文件的顶部,启动一个会话

session_start();

在您的index.php中,将文件数据分配给会话变量:

$_SESSION['file_data'] = $file_contents;

在您的results.php中,打印出数据:

echo $_SESSION['file_data'];
于 2013-01-25T06:19:01.437 回答
1

打开一个新标签不是PHP应该做的,你可以尝试使用javascripntk来实现这样的:

echo <<<EOF
<script>
var win = window.open('about:blank');
var doc = win.document;
doc.write('{$yourdata}');
</script>
EOF;
于 2013-01-25T06:23:20.083 回答