Home > Backend Development > PHP Tutorial > PHP simulates the return status of post_verification page (explanation with examples)_PHP tutorial

PHP simulates the return status of post_verification page (explanation with examples)_PHP tutorial

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-07-13 10:25:50
Original
925 people have browsed it

1. Main file, visit this page, which sets the return status of this file based on the return result of the "Verification Page" header('HTTP/1.1 '.$code.' '.$_status[$code ])

Copy code The code is as follows:

ini_set('max_execution_time', 120);

include("CheckConfig.php");

function send_http_status($code) {
static $_status = array(
// Informational 1xx
=> 'Continue',
=> 'Switching Protocols',
        // Success 2xx
=> 'OK',
=> 'Created',
=> 'Accepted',
=> 'Non-Authoritative Information',
=> 'No Content',
=> 'Reset Content',
=> 'Partial Content',
        // Redirection 3xx
=> 'Multiple Choices',
=> 'Moved Permanently',
=> 'Moved Temporarily ',  // 1.1
=> 'See Other',
=> 'Not Modified',
=> 'Use Proxy',
        // 306 is deprecated but reserved
=> 'Temporary Redirect',
        // Client Error 4xx
=> 'Bad Request',
=> 'Unauthorized',
=> 'Payment Required',
=> 'Forbidden',
=> 'Not Found',
=> 'Method Not Allowed',
=> 'Not Acceptable',
=> 'Proxy Authentication Required',
=> 'Request Timeout',
=> 'Conflict',
=> 'Gone',
=> 'Length Required',
=> 'Precondition Failed',
=> 'Request Entity Too Large',
=> 'Request-URI Too Long',
=> 'Unsupported Media Type',
=> 'Requested Range Not Satisfiable',
=> 'Expectation Failed',
        // Server Error 5xx
=> 'Internal Server Error',
=> 'Not Implemented',
=> 'Bad Gateway',
=> 'Service Unavailable',
=> 'Gateway Timeout',
=> 'HTTP Version Not Supported',
=> 'Bandwidth Limit Exceeded'
        );
        if(array_key_exists($code,$_status)) {
            header('HTTP/1.1 '.$code.' '.$_status[$code]);
        }
    }

    function GetStatusCode($url)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url); //设置URL

        curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header
        curl_setopt($curl,CURLOPT_NOBODY,true); //Body就不要了吧,我们只是需要Head
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了
        $data = curl_exec($curl); //开始执行啦~
        $HttpCode =curl_getinfo($curl,CURLINFO_HTTP_CODE); //我知道HTTPSTAT码哦~
        curl_close($curl); //用完记得关掉他
        return $HttpCode;
    }

    function ResetUrl($url)
    {
        if(strpos($url,"?")>0)
            $url.="&rnd";
        else
            $url.="?rnd";
        $url.=rand();
        return $url;
    }

    function ShowStateInfo($UrlArr,$MailPara)
    {
        $count=count($UrlArr);
        if(isset($_REQUEST["start"]))
        {
            $start=$_REQUEST["start"]*1;
        }
        else
        {
            $start=1;
        }
        if(isset($_REQUEST["end"]))
        {
            $end=$_REQUEST["end"]*1;
        }
        else
        {
            $end=$start;
        }

        $start=$start-1;
        $end=$end-1;

        if($start<0)
{
$start=0;
}

if($start>=0 && $start<$count)
{
if($end>=$count)
            {
                $end=$count-1;
            }

            if($end<$start)
{
$end=$start;
}
$sTime=date("Y/m/d H:m:s");
echo "开始时间".$sTime."
";
            echo "检测结果
";
            for($i=$start;$i<=$end;$i++)
{
$url=ResetUrl($UrlArr[$i]);
$state=GetStatusCode($url);
echo " ".$state ." => ".$url."";
                if($state!="200")
                {
                    echo " 本条访问出错!
";
                    send_http_status($state);

                    //发邮件
                    require("Mail.php");
                    $MailPara["Subject"]="网站监控结果";
                    $MailPara["Body"]="错误信息:状态->".$state."
地址:".$url;
                    SendResultMail($MailPara);

                                                                                                               =date("Y/m/d H:m:s");

               echo "End time".$eTime."
";
      }

}

ShowStateInfo($UrlArr,$MailPara);
?>



2. Mail



Copy code
The code is as follows:function SendResultMail($MailPara) {
require("phpmailer/class.phpmailer.php");

$mail = new PHPMailer();
CharSet = $MailPara["CharSet"];
IsSMTP(); $mail->Host = $MailPara["Host"];

$mail->Port = $MailPara["Port"];

$mail->SMTPAuth = true;

$mail->Username = $MailPara["FromMail"];

$mail->Password = $MailPara["FromMailPassword"];

$mail->From = $MailPara[" FromMail"];

$mail->FromName = $MailPara["FromMailName"];


foreach($MailPara["To"] as $toMail)
{
$mail->AddAddress($toMail["ToMail"], $toMail["ToMailName"]);

}


$mail->Subject = $MailPara["Subject"];
$mail->Body = $MailPara["Body"];
$mail->AltBody = $MailPara[" AltBody"];

if(!$mail->Send())
."
";
                           exit;                                                            

              echo "Email sent successfully
";

   }



3. Configuration file



Copy code


The code is as follows:

$UrlArr=array(
"localhost/test/281892.shtml",
"localhost/test/all-229-1-221.shtml",
"localhost/testclass/all-254-1-1.shtml",
"localhost/test/cheng/bd/1988478.html",
"localhost/test/asd/2066495.html"
);

//Send related information via email
$MailPara=array(
"CharSet"=> "GB2312",
"Host"=> "smtp.exmail.qq.com", / / Email service address
"Port"=>25,

"FromMail"=> "fdsafdsafd@fdasfds.com", // Sender's email address
"FromMailPassword"=> "*********", // Sender Email password
"FromMailName"=> "Detection", "To"=>array(
"ToMail"= >" defdafdsafdsafdf@qq.com", "ToMailName"=> "bqq", //Recipient's name
),
array(
"ToMail"= >"abfdsafdsafdsafc@gmail.com", "ToMailName"=> "agmail", "ToMailName"=> "agmail", "ToMailName" 🎜>
"Subject"=> "", "Subject"                                             " //Additional information, You can omit it
);

?>


The email mainly uses "phpmailer",

Click to download




http://www.bkjia.com/PHPjc/824912.html

www.bkjia.com
truehttp: //www.bkjia.com/PHPjc/824912.html

TechArticle

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
PHP-Datenerfassung?
From 1970-01-01 08:00:00
0
0
0
pemerolehan data php?
From 1970-01-01 08:00:00
0
0
0
PHP 데이터 수집?
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template