2

次のような単純なphpコードがあります。

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

ファイル データを別の php ファイル (例: 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ではできません。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 に答える
1

別のウィンドウ (またはタブ) で別の PHP ファイルにデータを渡す唯一の方法は、セッションを使用することです。

両方の PHP ファイルの先頭で、セッションを開始します。

session_start();

index.phpで、ファイル データをセッション変数に割り当てます。

$_SESSION['file_data'] = $file_contents;

results.phpで、データを出力します

echo $_SESSION['file_data'];
于 2013-01-25T06:19:01.437 に答える