我有一个简单的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(" ", $depth * 0);
echo $value.'<br>';
}
}
function elementStr($parser, $str) {
if (strlen(trim($str)) > 0) {
global $depth;
echo str_repeat(" ", $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();
}
在我的函数中有回声。当然,我在当前页面中得到回声,但我需要在新选项卡中回显。
打开一个新标签不是 PHP 应该做的,你可以尝试使用 javascripntk 来实现这样的:
echo <<<EOF
<script>
var win = window.open('about:blank');
var doc = win.document;
doc.write('{$yourdata}');
</script>
EOF;
在
另一个窗口(或选项卡)中将数据传递到另一个 PHP 文件的唯一方法是使用会话。
在两个 PHP 文件的顶部,启动一个会话:
session_start();
在索引中.php将文件数据分配给会话变量:
$_SESSION['file_data'] = $file_contents;
在结果.php中,打印出数据:
echo $_SESSION['file_data'];