如何获取mpdf库中当前网页的内容

时间:2015-12-01 09:32:13

标签: php html mpdf

我编写了以下代码,实际上我想将当前网页转换为pdf文档,但我无法如何声明当前网址并获取pdf文档中的网页内容。下面是我的代码。

<?php 
require("mpdf60/mpdf.php");
$mpdf=new mPDF('utf-8','Letter-L','','',15,10,16,10,10,10);//A4 page in portrait for landscape add -L.
$mpdf->SetHeader('|Your Header here|');
$mpdf->setFooter('{PAGENO}');// Giving page number to your footer.
$mpdf->useOnlyCoreFonts = true;    // false is default
$mpdf->SetDisplayMode('fullpage');
$mpdf->debug = true;
// Buffer the following html with PHP so we can store it to a variable later
ob_start();
?>
<?php  
include "contractview.php?ID=129";
 //This is your php page ?>
<?php 
$html = ob_get_contents();
ob_end_clean();
// send the captured HTML from the output buffer to the mPDF class for processing
$mpdf->WriteHTML($html);
//$mpdf->SetProtection(array(), 'user', 'password'); uncomment to protect your pdf page with password.
$mpdf->Output();
exit;
?> 

我写了包含“contractview.php?ID = 129”; ,但这不起作用,任何人都可以帮我解释如何分配这个以获取当前页面内容。

1 个答案:

答案 0 :(得分:0)

MPDF不支持包含。你必须把它放在一个var。完整的html可以使用jquery转换,也可以在php中转换为file_get_contents

这就是我用整页做的。

    <?php 
    require("mpdf60/mpdf.php");
    $mpdf=new mPDF('utf-8','Letter-L','','',15,10,16,10,10,10);//A4 page in portrait for landscape add -L.
    $mpdf->SetHeader('|Your Header here|');
    $mpdf->setFooter('{PAGENO}');// Giving page number to your footer.
    $mpdf->useOnlyCoreFonts = true;    // false is default
    $mpdf->SetDisplayMode('fullpage');
    $mpdf->debug = true;
    // Buffer the following html with PHP so we can store it to a variable later
    ob_start();
    ?>
    <?php  
    //$content = file_get_contents("contractview.php?ID=129"); //<=== WRONG ONE
$content = file_get_contents("http://www.yourwebsite.com/contractview.php?ID=129"); //<=== getting content from url and not file!!

    print($content);
     //This is your php page ?>
    <?php 
    $html = ob_get_contents($content); //<=== put content in ob
    ob_end_clean();
    // send the captured HTML from the output buffer to the mPDF class for processing
    $mpdf->WriteHTML($html);
    //$mpdf->SetProtection(array(), 'user', 'password'); uncomment to protect your pdf page with password.
    $mpdf->Output();
    exit;
    ?> 

我发现您正在使用ob_startob_end 你也可以使用

<?php 
require("mpdf60/mpdf.php");
$mpdf=new mPDF('utf-8','Letter-L','','',15,10,16,10,10,10);//A4 page in portrait for landscape add -L.
$mpdf->SetHeader('|Your Header here|');
$mpdf->setFooter('{PAGENO}');// Giving page number to your footer.
$mpdf->useOnlyCoreFonts = true;    // false is default
$mpdf->SetDisplayMode('fullpage');
$mpdf->debug = true;
// Buffer the following html with PHP so we can store it to a variable later
$content = file_get_contents("http://www.yourwebsite.com/contractview.php?ID=129"); //<=== getting content from url and not file!!
// send the captured HTML from the output buffer to the mPDF class for processing
$mpdf->WriteHTML($content);
//$mpdf->SetProtection(array(), 'user', 'password'); uncomment to protect your pdf page with password.
$mpdf->Output();
exit;
?> 
<?php require_once ('header.php'); ?>


<!-- 10/15/2014 START: Freze table header row; Updated Fancybox so it works with jQuery 1.10.1 as well -->
<META content="IE=11; IE=10; IE=9; IE=8; IE=7; IE=EDGE" http-equiv="X-UA-Compatible">
<!--script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script   duplicate 10/6/2015-->

<SCRIPT type="text/javascript" src="jQueryfloatThead/jquery.floatThead.js"></SCRIPT>
<SCRIPT type="text/javascript" src="jQueryfloatThead/site.js"></SCRIPT>
<SCRIPT type="text/javascript" src="jQueryfloatThead/bootstrap.js"></SCRIPT>
<SCRIPT type="text/javascript" src="jQueryfloatThead/less.js"></SCRIPT> 
<!-- 10/15/2014 END -->

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border=0 cellpadding="0" cellspacing="0">
    <tr><td height="36" background="images/topbar_bg.png" style="background-repeat:repeat-x;"><img src="images/topbar_bg.png" height="36"></td></tr>
    <tr><td>
        <table width="960" border=0 cellpadding="0" cellspacing="0" align="center">
        <?php require_once ('topnav.php'); ?>
        <tr><td>
            <table width="100%" border=0 cellpadding="10" cellspacing="5">

            <?php 
            if(!isset($_SESSION['Username'])) { 
                header('Location: home?errMsg=Your session has been expired.  Please re-login again.');
            }
            ?>
            <tr><td bgcolor="#006ec7" valign="top" width="100%" class="headertd">FAR Compliance Portal</td></tr>
            <tr><td bgcolor="#ebf4f9" valign="top" width="100%" height="300">
            <?php 

            require_once ('dbconnection.php');
            require_once ('contractcheck.php'); //Check if users can view this section

            if (!isset($_REQUEST['ID'])) {
                print "ERROR: No record has been selected.";
                exit;
            }
            if (!is_numeric($_REQUEST['ID'])) {
                print "ERROR: Invalid record has been selected.";
                exit;
            }

            $thisID = $_REQUEST['ID'];

            $sqlGet = "select * from far_contract where ID='" .$thisID. "'";
            $resultGet = mysql_query($sqlGet, $dbconnection);
            if (!$resultGet) {
                echo 'Could not run query [1] ($thisID): ' . mysql_error();
                exit;
            }   
            $num_rows = mysql_num_rows($resultGet);     
            if ($num_rows==0 || $num_rows>1) {
                print "Error: Invalid record is being called ($thisID).  Please check with administrator.";
                exit;
            }   
            $row = mysql_fetch_array($resultGet);
            $thisID = $row[0];
            $thisContractNumber = $row[1];
            $thisCustomer = $row[2];
            $thisCeilingValue = $row[3];
            //$thisEffectiveDate = $row[4];
            //$thisExpirationDate = $row[5];
            //$thisLegalEntity = $row[6];
            $thisProjectName = $row[4];
            $thisMFilesLink = $row[5];
            $thisCreatedByID = $row[6];
            $thisCreatedDate = $row[7];
            $thisModifiedByID = $row[8];
            $thisModifiedDate = $row[9];
            $thisContractStatus = $row[10]; //12/22/2014
            $thisNotes = $row[11]; //3/27/2015
            $thisSubmittedByID = $row[17]; //10/1/2015
            $thisSubmittedDate = $row[18]; //10/1/2015
            $thisMasterAgreement = $row[19]; //10/6/2015
            if ($thisContractStatus==NULL)  $thisContractStatus="Not Submitted"; //12/22/2014
            $thisSpecialStatusNotes = $row[15]; //4/15/2015

            unset($resultGet);

            //if ($thisEffectiveDate!="")       $thisEffectiveDate = date("m/d/Y", strtotime($thisEffectiveDate));
            //if ($thisExpirationDate!="")  $thisExpirationDate = date("m/d/Y", strtotime($thisExpirationDate));

            $sqlGetFAR = "select * from far_contract_clauses where ContractID='" .$thisID. "'";
            $resultGet = mysql_query($sqlGetFAR, $dbconnection);
            if (!$resultGet) {
                echo 'Could not run query [2] ($thisID): ' . mysql_error();
                exit;
            }   
            $num_rows = mysql_num_rows($resultGet);
            if ($num_rows>0) {
                $thisSelectClause = "";
                while ($row = mysql_fetch_array($resultGet)) { 
                    if ($thisSelectClause=="") 
                        $thisSelectClause = $row[2];
                    else
                        $thisSelectClause .= ",".$row[2];
                }   
            }   
            unset($resultGet);                  
            ?>              

            <h1><a href="contract">Contract Records</a> > View Record</h1>
            <a href='php-to-pdf.php'  target='_blank' ><input type='button' value='Convert to pdf'></a>

            <table cellspacing=0 cellpadding=3 border=0 width="100%" class="table-bordered">
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>ID:</b></td>
                <td class="resultTbl"><?php echo $thisID ?></td>
            </tr>           
            <tr>
                <td nowrap width="220" class="resultTbl" bgcolor='#d9e0e4'><b>Direct Customer's Solicitation/Contract Number:</b></td>
                <td width="100%" class="resultTbl"><?php echo $thisContractNumber ?></td>
            </tr>
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Direct Customer:</b></td>
                <td class="resultTbl"><?php echo $thisCustomer ?></td>
            </tr>    
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Ceiling Value ($):</b></td>
                <td class="resultTbl"><?php is_numeric($thisCeilingValue)? print "$ ".number_format($thisCeilingValue,2) : print ""; ?></td>
            </tr>   
            <!--<tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Effective Date:</b></td>
                <td class="resultTbl"><//php echo $thisEffectiveDate //></td>
            </tr>   
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Expiration Date:</b></td>
                <td class="resultTbl"><//php echo $thisExpirationDate //></td>
            </tr>
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Rapiscan Legal Entity:</b></td>
                <td class="resultTbl"><//php echo $thisLegalEntity //></td>
            </tr>-->
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Project Name/Description:</b></td><?php //3/27/2015 ?>
                <td class="resultTbl"><?php echo $thisProjectName ?></td>
            </tr>           
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>M-Files Link:</b></td>
                <td class="resultTbl"><?php echo $thisMFilesLink ?></td>
            </tr>
            <tr><?php //3/27/2015 ?>
                <td class="resultTbl" bgcolor='#d9e0e4' valign='top'><b>Notes:</b></td>
                <td class="resultTbl"><?php echo $thisNotes ?></td>
            </tr>           
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Created By:</b></td>
                <td class="resultTbl"><?php echo fetchFullName($thisCreatedByID) . " on " . $thisCreatedDate ?></td>
            </tr>

            <?php 
            $SubmissionDate = $thisCreatedDate; //1/6/2015
            if ($thisModifiedByID!="") { ?>
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Last Modified By:</b></td>
                <td class="resultTbl"><?php echo fetchFullName($thisModifiedByID) . " on " . $thisModifiedDate ?></td>
            </tr>
            <?php 
            $SubmissionDate = $thisModifiedDate; //1/6/2015
            } 
            ?>

            <?php 
            $SubmittedDate = $thisSubmittedDate; //10/1/2015 Added Submitted By and Submitted Date
            if ($thisSubmittedByID!="") { ?>
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Submitted By:</b></td>
                <td class="resultTbl"><?php echo fetchFullName($thisSubmittedByID) . " on " . $thisSubmittedDate ?></td>
            </tr>
            <?php 
            $SubmittedDate = $thisSubmittedDate; //10/1/2015
            } 
            ?>


            <?php 
            $MasterAgreement = $thisMasterAgreement; //10/1/2015 Added Submitted By and Submitted Date
            ?>
            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Master/Framework<b>Agreement Contract</b></td>
                <td class="resultTbl"><?php echo  ($thisMasterAgreement==1)?'Yes':'No'; ?></td>
            </tr>
            <?php 

            ?>

            <tr>
                <td class="resultTbl" bgcolor='#d9e0e4'><b>Status:</b></td>
                <td class="resultTbl"><?php echo $thisContractStatus //12/22/2014 ?>
                <?php //4/15/2015
                if ($AllowContractFull) {
                    if ($thisContractStatus=="Submitted") {
                        print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                        print "[<a href='contractstat?ID=$thisID&Action=Suspended' onclick=\"return confirm('You have selected to suspend this contract record.\\nPlease click OK to confirm your action.  Otherwise, please click CANCEL.');\">Suspend</a>]";
                        print "&nbsp;&nbsp;&nbsp;[<a href='contractstat?ID=$thisID&Action=Cancelled' onclick=\"return confirm('You have selected to cancel this contract record.\\nPlease click OK to confirm your action.  Otherwise, please click CANCEL.');\">Cancel</a>]";
                    } elseif ($thisContractStatus=="Suspended") {
                        print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                        print "[<a href='contractstat?ID=$thisID&Action=Submitted' onclick=\"return confirm('You have selected to re-activate this contract record.\\nPlease click OK to confirm your action.  Otherwise, please click CANCEL.');\">Re-activate</a>]";
                        print "&nbsp;&nbsp;&nbsp;[<a href='contractstat?ID=$thisID&Action=Cancelled' onclick=\"return confirm('You have selected to cancel this contract record.\\nPlease click OK to confirm your action.  Otherwise, please click CANCEL.');\">Cancel</a>]";
                    }
                }
                if (! ($thisSpecialStatusNotes=="" || is_null($thisSpecialStatusNotes)) ) {
                    print "<BR><font color=gray>$thisSpecialStatusNotes</font>";
                }
                ?>
                </td>
            </tr>

            <tr><td valign=top colspan=2 class="resultTbl"><b>FAR Clauses:</b></td></tr>
            <tr><td valign=top colspan=2 class="resultTbl">
                <?php
                //get list of departments
                $sql = "select * from far_departments order by Department";
                $result = mysql_query($sql, $dbconnection);
                if (!$result) {
                    echo 'Could not run query [3]: ' . mysql_error();
                    exit;
                }       
                $deptList = array();                
                while ($row = mysql_fetch_array($result)) { //loop each department                  
                    $deptList[] = $row[1];
                }
                unset ($result);

                printByCompliance ($thisID, $thisSelectClause, $thisContractStatus, $SubmissionDate); //1/6/2015
                ?>
                </td>
            </tr>   
            </table>
        <?php   

        require_once ('logging.php'); //7/31/2014
        mysql_close($dbconnection);     
        ?>
        </td></tr>

        </table>
        </td></tr>
        <?php require_once ('footer.php'); ?>
        </table>
    </td></tr>
</table>
</body>
</html> 

<?php

function printByCompliance ($thisID, $thisSelectClause, $thisContractStatus, $SubmissionDate){ //1/6/2015

    global $deptList;
    global $dbconnection;

    //print table header
    //echo "<h1>Compliance Report</h1>";
    echo "<DIV id='options'><table width='100%' class='table table-bordered table-striped' cellspacing=0 cellpadding=5>"; 
    echo "<thead><tr bgcolor='#d9e0e4'>"; 
    echo "<th class='resultTbl' nowrap><b>FAR Clauses</b><img src='images/spacer.gif' width='80' height='1'></th>"; //9/15/2014
    if ($thisContractStatus=="Submitted" || $thisContractStatus=="Suspended" || $thisContractStatus=="Cancelled")  //4/15/2015
        echo "<th class='resultTbl' nowrap><font color=blue><b>Certified<BR>as of<BR>".str_replace(" ", "<BR>", $SubmissionDate)."?</b></font></th>"; //1/6/2015
    else    
        echo "<th class='resultTbl' nowrap><font color=blue><b>Certified?</b></font></th>"; //9/15/2014

    foreach ($deptList as $EachDept) { //loop each dept
        echo "<th class='resultTbl' align=center><b>" . $EachDept . "</b></th>";
    }
    echo "</tr></thead>";        //10/15/2014 END       

    //get all questions 
    $sql = "select * from far_questions where QStatus='ACTIVE' and ID in ($thisSelectClause) order by Title, Alternate"; //2/9/2015
    $result = mysql_query($sql, $dbconnection);
    if (!$result) {
        echo 'Could not run query [4]: ' . mysql_error();
        exit;
    }

    $listQuestionArray = array(); //START natural-order sorting questions by title
    while ($row = mysql_fetch_array($result)) { 
        $listQuestionArray[] = array($row[0], $row[1], $row[2], $row[3], $row[4], $row[5], $row[6], $row[7]); //2/9/2015; 10/10/2014; 6/17/2014
    }
    usort($listQuestionArray, function ($elem1, $elem2) { 
         return strnatcmp ($elem1['1']." ".$elem1['7'], $elem2['1']." ".$elem2['7']); 
         //2/9/2015 need to take Alternate in nartural sort***  return strnatcmp ($elem1['1'], $elem2['1']); 
    }); 
    unset($row); //END natural-order sorting questions by title

    foreach ($listQuestionArray as $row) { //loop each question
        $thisQuestionID = $row[0];
        $thisTitle = trim($row[1]);
        $thisURL = trim($row[2]);
        $thisVersionDate = trim($row[3]);
        $thisFrequency = trim($row[4]); //6/17/2014
        $thisClauseType = trim($row[6]); //10/10/2014
        $thisAlternate = trim($row[7]); //2/9/2015

        $RequireDepartment = ""; //6/17/2014 START new tbl structure
        if ($thisClauseType=="YELLOW") { //10/10/2014
            $sqlgetdept = "select RequireDepartment from far_yellowDept where QuestionID='$thisQuestionID'";
        } else {
            $sqlgetdept = "select RequireDepartment from far_questionsDept where QuestionID='$thisQuestionID'";
        } //10/10/2014      
        $resultgd = mysql_query($sqlgetdept, $dbconnection);
        if (!$resultgd) {
            echo 'Could not run query [6]: ' . mysql_error();
            exit;
        }
        while ($rowgd = mysql_fetch_array($resultgd)) { 
            $RequireDepartment .= $rowgd[0] . ", ";
        }       
        unset ($rowgd);
        unset ($resultgd);
        //$RequireDepartment = trim($row[5]);
        //$thisFrequency = trim($row[6]); //6/17/2014 END

        $curClauseInfo = ""; //9/15/2014 temp string for Clause info
        $curClauseInfo .= "<td class=resultTbl bgcolor=#d9e0e4><a class='rptnav' href='" .$thisURL. "' target=new>" . $thisTitle . "</a>";
        if ($thisVersionDate!="" && $thisVersionDate != NULL) {
            $curClauseInfo .= "<BR>(" .$thisVersionDate. ")"; 
        }
        if ($thisAlternate!="" && $thisAlternate != NULL) { //2/9/2015
            $curClauseInfo .= "<BR><BR>" .$thisAlternate; 
        }       

        $curStatusStr = ""; //9/15/2014 temp string to store current status for each dept for current FARS clause
        $chkQuestion = true; //assume this question is compliance.

        foreach ($deptList as $EachDept) { //loop each dept
            if (strpos($RequireDepartment, $EachDept) !== false) { //if this question is required for current dept
                $curStatusStr .= "<td class=resultTbl nowrap align=center>"; 

                if ($thisClauseType=="YELLOW") { //10/10/2014
                    //12/11/2014 fetch approval status for YELLOW clause from new table
                    $sqlConApp = "select * from far_contract_approval where ContractID='$thisID' and QuestionID='$thisQuestionID' and Department='{$EachDept}'";
                    $resultConApp = mysql_query($sqlConApp, $dbconnection);
                    if (!$resultConApp) {
                        echo 'Could not run query [7]: ' . mysql_error();
                        exit;
                    }
                    $num_rowsConApp = mysql_num_rows($resultConApp);
                    if ($num_rowsConApp>0) { //if approval response is found                    
                        $rowConApp = mysql_fetch_array($resultConApp);
                        $curStatusStr .= "<B>Approved By</B><BR>" . fetchFullName($rowConApp[4]) . "<BR>" . str_replace(" ", "<BR>", $rowConApp[5]); 
                    } else { //if NO approval response is found 
                        $curStatusStr .= "Approval<BR>Required";
                    }
                    unset($resultConApp); //12/11/2014
                    $curStatusStr .= "</td>";       
                    $chkQuestion=false;                 
                } else { //10/10/2014 for clause type = CERTIFY and GREEN
                    //check for approval
                    $sqlConApp = "select * from far_contract_approval where ContractID='$thisID' and QuestionID='$thisQuestionID' and Department='{$EachDept}'";
                    $resultConApp = mysql_query($sqlConApp, $dbconnection);
                    if (!$resultConApp) {
                        echo 'Could not run query [7b]: ' . mysql_error();
                        exit;
                    }
                    $num_rowsConApp = mysql_num_rows($resultConApp);
                    if ($num_rowsConApp>0) { //if approval response is found
                        $rowConApp = mysql_fetch_array($resultConApp);
                        $curStatusStr .= "<B>Approved By</B><BR>" . fetchFullName($rowConApp[4]) . "<BR>" . str_replace(" ", "<BR>", $rowConApp[5]); 
                    } else {
                        //get latest response per each question
                        $sql2 = "select * from far_responses where QuestionID=$thisQuestionID and Department='{$EachDept}' order by ResponseDate desc limit 1";
                        $result2 = mysql_query($sql2, $dbconnection);
                        if (!$result2) {
                            echo 'Could not run query [8]: ' . mysql_error();
                            exit;
                        }
                        $num_rows2 = mysql_num_rows($result2);
                        if ($num_rows2>0) { //if response is found
                            $row2 = mysql_fetch_array($result2);
                            $thisResponse = $row2[2]; 
                            $thisResponseBy = $row2[5];
                            $thisResponseDate = $row2[6];
                            $tempResponseDate = str_replace(" ", "<BR>", $thisResponseDate); //6/12/2014 show time on next line
                            $curStatusStr .= "<B>". $thisResponse . "</B><BR>" . $thisResponseBy . "<BR>" . $tempResponseDate; 
                            if ($thisResponse=="YES") { //if latest response is YES, check if it has expired or not
                                /* 6/2/2014 Disable this function - no need to check Frequency as all answers will be reset on 1/1
                                $chkDate = strtotime($thisResponseDate);
                                $chkDate = strtotime("+$thisFrequency day", $chkDate);
                                if (time() > $chkDate) {
                                    print "<font color=red><BR>Expired</font>";
                                    $chkQuestion=false;
                                }
                                6/2/2014 */
                            } else { //PENDING or EXPIRED
                                $chkQuestion=false;
                            }                                                       
                        } else { //no previous submission
                            $curStatusStr .= "Response<BR>Pending"; 
                            $chkQuestion=false;
                        }
                    }
                    unset($resultConApp); //12/11/2014                                              
                    $curStatusStr .= "</td>";
                } //10/10/2014              
            } else { //this question does not apply to current dept
                $curStatusStr .= "<td class=resultTbl align=center>N/A</td>"; 
            }
        }

        $curStatusBox = ""; //9/15/2014 temp string to store green/red icon
        $curStatusBox .= "<td class=resultTbl align=center bgcolor=#d9f1fe>";

        if ($thisContractStatus=="Submitted" || $thisContractStatus=="Suspended" || $thisContractStatus=="Cancelled") { //4/15/2015; 1/6/2015 Contract has been submitted
            $sqlFreezeStat = "select LightIndicator from far_contract_clauses where ContractID='$thisID' and QuestionID='$thisQuestionID'";
            $resultFreezeStat = mysql_query($sqlFreezeStat, $dbconnection);
            if (!$resultFreezeStat) {
                echo 'Could not run query [10]: ' . mysql_error();
                exit;
            }
            $num_rowsFS = mysql_num_rows($resultFreezeStat);
            if ($num_rowsFS>0) { //if response is found
                $rowFS = mysql_fetch_array($resultFreezeStat);
                switch ($rowFS[0]) {
                    case "GREEN":   $curStatusBox .= "<img src='images/greenicon.gif' width='20'>"; break;
                    case "YELLOW":  $curStatusBox .= "<img src='images/yellowicon.gif' width='20'>"; break;
                    case "RED":     $curStatusBox .= "<img src='images/redicon.gif' width='20'>"; break;
                    default:        $curStatusBox .= "Status is not being frozen for this record";
                }
            } else { $curStatusBox .= "Status is not being frozen for this record"; }
            unset ($resultFreezeStat);

        } else { //1/6/2015: Not submitted - so shows real-time light status
            if ((int)$chkQuestion==1) {
                $curStatusBox .= "<img src='images/greenicon.gif' width='20'>";

                //9/15/2014 Latest Audit Info
                /* 12/11/2014 hide audit *** (if want to add it back, need to add fancybox script ***
                $sqlchkAudit = "select AuditDate from far_audit where QuestionID=$thisQuestionID order by AuditDate Desc limit 1";
                $resultA = mysql_query($sqlchkAudit, $dbconnection);
                if (!$resultA) {
                    echo 'Could not run query [9]: ' . mysql_error();
                    exit;
                }
                $num_rowsA = mysql_num_rows($resultA);
                if ($num_rowsA >0) { //if response is found
                    $rowA = mysql_fetch_array($resultA);
                    $AuditDateTemp = $rowA[0]; 
                    $AuditDateSplit = explode(" ", $AuditDateTemp);
                    $AuditDate = "<a class=\"fancybox\" href=\"audithistory.php?ID=" .$thisQuestionID. "\">" .$AuditDateSplit[0]. "</a>";
                    //$AuditDate = $AuditDateSplit[0];
                } else {
                    $AuditDate = "N/A";
                }
                $curClauseInfo .= "<BR><BR>Last Audit: " . $AuditDate;  
                if($_SESSION['UserAccessLevel']=="FULLAUDIT") //9/15/2014 new access level AUDIT rights
                    $curClauseInfo .= "<BR>Auditor: <a class=\"fancybox\" href=\"audit.php?ID=" .$thisQuestionID. "\">Audit It</a></td>";
                else            
                    $curClauseInfo .= "</td>";
                hide audit*** */
            } elseif ($thisClauseType=="YELLOW") { //10/10/2014
                $curStatusBox .= "<img src='images/yellowicon.gif' width='20'>";
                $curClauseInfo .= "</td>";                  
            } else {    
                $curStatusBox .= "<img src='images/redicon.gif' width='20'>";
                $curClauseInfo .= "</td>";
            }   
        }
        $curStatusBox .= "</td>";

        print "<tr>"; //9/15/2014 Print out new temp strings
        print $curClauseInfo;
        print $curStatusBox;
        print $curStatusStr; 
        print "</tr>";
    }       
    echo "</table></div>"; //10/15/2014 closing DIV, added document ready
    ?>
    <SCRIPT type="text/javascript">
        $(document).ready(function () {

            $('#options table').floatThead({
                //the pageTop is a global function i have here, it takes care of making the table float under my floated nav
                scrollingTop: pageTop,
                useAbsolutePositioning: false
            });
        });
    </SCRIPT> <!--10/15/2014 END -->
    <?php   
}

?>

它更小更清洁,file_get_contents()可以完成工作。但是你总是需要确保你拥有页面的html。