Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中生成total或count循环_Php_Loops_Count_Preg Match - Fatal编程技术网

在PHP中生成total或count循环

在PHP中生成total或count循环,php,loops,count,preg-match,Php,Loops,Count,Preg Match,有人帮帮我。 这是php代码: <?php error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); for ($i = 0; $i <= 100; $i++) { $url = "site.com"; $h = [ "Accept-Language: en-US,en;q=0.8", ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, $h); curl_s

有人帮帮我。 这是php代码:

<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); 
for ($i = 0; $i <= 100; $i++) {
$url = "site.com";
$h = [
    "Accept-Language: en-US,en;q=0.8",
     ];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $h);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$x = curl_exec($ch);
curl_close($ch);
if(preg_match("<!DOCTYPE html>", "$x")) {
echo "Succes\n";
}
else
{
echo "Error\n";
}
$i++;
}
?>

如何使用上面的代码在php中进行计数。 我想知道一个成功结果的总循环数和一个错误结果的总循环数。 我想从上面的php代码中获得一个总输出

示例输出:

成功70次
和错误30次

您可以在最顶端定义两个变量(如代码所示),并将其递增,而不是打印“成功”和“错误”。然后可以在脚本底部打印定义的变量

<?php
$success = 0;
$error = 0;

error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); 
for ($i = 0; $i <= 100; $i++) {
    $url = "http://eyus.co.id/ip.php";
    $h = [
        "Accept-Language: en-US,en;q=0.8",
    ];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPHEADER, $h);
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $x = curl_exec($ch);
    curl_close($ch);
    if(preg_match("<!DOCTYPE html>", "$x")) {
        $success++;
    } else {
        $error++;
    }
}

echo 'Success: '.$success;
echo 'Error: '.$error;
?>

您可以在最上面定义两个变量(如代码所示),并增加它们,而不是打印“成功”和“错误”。然后可以在脚本底部打印定义的变量

<?php
$success = 0;
$error = 0;

error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); 
for ($i = 0; $i <= 100; $i++) {
    $url = "http://eyus.co.id/ip.php";
    $h = [
        "Accept-Language: en-US,en;q=0.8",
    ];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPHEADER, $h);
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $x = curl_exec($ch);
    curl_close($ch);
    if(preg_match("<!DOCTYPE html>", "$x")) {
        $success++;
    } else {
        $error++;
    }
}

echo 'Success: '.$success;
echo 'Error: '.$error;
?>


请说明您当前对此代码的问题所在。每次迭代增加
$i
两次。维护计数变量,而不是
回显“成功”
;此外,没有时间间隔的连续请求可能会将您的IP列入黑名单?请描述您当前对此代码的问题所在。每次迭代增加
$i
两次。维护计数变量,而不是
回显“成功”
;同时,没有时间间隔的连续请求可能会将您的IP列入黑名单?是的,您是对的。谢谢你的建议。我现在要加上。:)我补充了解释。再次感谢。我以后也会记住这一点。是的,你说得对。谢谢你的建议。我现在要加上。:)我补充了解释。再次感谢。我以后也会记住这一点。