2015-01-23 3 views
0

나는 매일 매일의 작업을 쉽게하기 위해 스크립트를 작성하고 있습니다. 부분으로 작동하여 API에 요청을 보내고 응답을 수신합니다. 그런 다음 응답을 정의 된 사서함에 자동으로 전자 메일로 보낼 텍스트 파일에 저장하려고합니다. 내가 붙어있는 비트는 실제로 스크립트를 텍스트 파일로 저장하고 있습니다.PHP 스크립트 만들기 텍스트 파일에 자동으로 쓰기

이것은 내 스크립트입니다. (필자는 경험이 많지 않습니다 ... 포함 파일은 관련이 없습니다. 요청을 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(); 

?> 
+0

참조 할 것 논리에서이 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; } 

의 상단에이 코드를 추가하고 내가 절약 싶은 것이. 데이터베이스에 성공적으로 연결되었습니다. 영향을받는 XREF : 503,269 회로 CLI : 01484428692 회로 IP : 172.31.122.215 핑 172.31.122.215 ... 회로 아래 - 진단을 동기화 검사 결과에 시작 : 동기화 회로를. 데이터 포트 재설정 : 핑 172.31.122.215 ... 아직 다운 회로 - 계속 진단 Metascript 테스트 : TAM 테스트 : 제출 TAM 테스트 결과 : 현재 프로파일 : SI16_2M_1M 프로필 FIDiag로 변경합니다. 프로파일을 SI16_2M_1M로 되 돌렸습니다. 핑 (Ping) 172.31.122.215 ... 회로 정지 중 -주의가 필요합니다. –

+1

http://php.net/manual/en/function.file-put-contents.php –

+0

이것을 'CRON JOB'으로 실행하면 출력을 전자 메일로 보낼 수 있습니다 (예 : http : // stackoverflow). com/questions/22887133/cron-job-send-copy-from-output-to-an-email) – cmorrissey

답변