簡體   English   中英

使PHP腳本自動寫入文本文件

[英]Making PHP Script Automatically write to text file

我正在編寫腳本以嘗試並幫助簡化日常工作。 它可以部分工作,將請求發送到API並接收響應。 然后,我希望它將所說的響應保存在一個文本文件中,該文件將自動通過電子郵件發送到已定義的郵箱。 我一直堅持的一點是,實際上是將腳本保存到文本文件中。

這是我的腳本:(我不是非常有經驗。.包含文件並不相關,因為它們發送請求的API並不包含其他任何內容。)我希望我可以在字面上在底部添加一行SQL連接關閉,告訴它保存到文本文件。 另外,我希望文本文件采用“ $ CorrectCLI”變量的名稱。

任何幫助表示贊賞。 干杯。

// Check connection
    if(mysqli_connect_errno()) {
        echo "Could Not Connect, Contact Support.";
        exit;
    } else {
        echo "Connected to Database Successfully.<br><br>";
    }

//Required Information:
    $CorrectCLI = $CLIrow[0];
    $CorrectSitename = $SiteNamRow[0];
    $CorrectSiteNumber = $SiteNumRow[0];
    $CorrectIP = $IProw[0];;


$xrefFromKF = "503269";
echo nl2br("Affected XREF: " . $xrefFromKF . "\n");
$CLIquery = "select primary_cli from customers where xref = " . $xrefFromKF . "";
$CLIresult = mysqli_query($con,$CLIquery);

if(!$CLIresult) {
    echo "Could Not Locate CLI In Database.<br>";
}

$CLIrow = mysqli_fetch_row($CLIresult);
$CLI = $CLIrow[0];
echo nl2br("Circuit CLI: 0" . $CLIrow[0] . "<br>");

if(!$CLI > 0 ) {
    echo " Could Not Locate CLI.<br>";
    }

$IPquery =  "select manufacturers_ip_prim from customers where primary_cli = " . $CLIrow[0] . "";
$result = mysqli_query($con,$IPquery);

if(!$result) {
    echo "Could Not Locate Management IP.<br>";
}

$IProw = mysqli_fetch_row($result);
$IPcount = $IProw[0];
echo nl2br("Circuit IP: " . $IProw[0] . "");

if(!$IPcount > 0 ) {
    echo " Could Not Locate Management IP.<br>";
    }

        echo nl2br("\n\nPinged " . $IPcount . "...\n");
        exec("ping -c 2 " . $IPcount, $output1, $result1);

        if ($result1 == 0) {
            echo nl2br("Circuit Recovered - Cancelled Diagnostics.");
        } else {
            echo nl2br("Circuit Down - Starting Diagnostics");
            // Perform Sync Check
            include '../diags/SyncStatus.php';
            // Perform Data Port Reset
            include '../diags/DataPortReset.php';
                // sleep(10);

            echo nl2br("\nPinged " . $IPcount . "...\n");

            exec("ping -c 2 " . $IPcount, $output2, $result2);

            if ($result2 == 0) {
                echo nl2br("Circuit Recovered - Stopping Diagnostics.");
                } else {
                echo nl2br("Circuit Still Down - Continuing Diagnostics\n\n");
                include '../diags/Metascript.php';  
                include '../diags/TAMtestSubmit.php';
                include '../diags/TAMtestRetrieve.php'; 
                    echo "<br>";            
                include '../diags/GetProfile.php';
                    echo "<br>";
                include '../diags/ProfileOverride.php';
                    echo "<br>";
                // sleep(300);
                include '../diags/RevertProfile.php';
                    echo "<br>";

                echo nl2br("\nPinged " . $IPcount . "...\n");

                exec("ping -c 2 " . $IPcount, $output4, $result4);
                    //print_r($output4);

                if ($result4 == 0) {
                    echo nl2br("Circuit Recovered - Stopping End Of Diagnostics.");
                } else {
                    echo nl2br("Circuit Still Down - Requires Attention.\n\n");
                }

            }
        }

// Close the Database Connection
    $conn->close();

?>

我將使用PHP輸出緩沖區。

將此代碼添加到此PHP腳本的頂部

ob_start("process_output");
function process_output($buffer){
        $pageContent = $buffer;
        // $pageContent is all the output of your web page, 
        // put your email logic here
        return $pageContent;
}

按照您的邏輯,我會參考http://php.net/manual/en/function.file-put-contents.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM