Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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-while循环加载_Php_While Loop - Fatal编程技术网

PHP-while循环加载

PHP-while循环加载,php,while-loop,Php,While Loop,我有一个while循环,它从一个文本文件中获取ip和密码,并登录到我使用httpauth租用的一些服务器 <?php $username = 'admin'; function login($server, $login){ global $username, $password, $server; $options = array( CURLOPT_URL => $server, CURLOPT_HEADER => 1, CURLOPT_R

我有一个while循环,它从一个文本文件中获取ip和密码,并登录到我使用httpauth租用的一些服务器

<?php

$username = 'admin';


function login($server, $login){

global $username, $password, $server;

$options = array(

    CURLOPT_URL => $server,
    CURLOPT_HEADER => 1,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_USERAGENT => "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5",
    CURLOPT_HTTPHEADER => array("
    Host: {$server}
    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    Authorization: Basic {$login}

"));

$ch = curl_init();
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ( $http_status == 200 ) {
 //do something  
echo "Completed";

} 
else { echo "Something went wrong";}

};

$file = fopen('myServers.txt', 'r');


while (! feof($file)) {
$m = explode(fgets($file), ':');
$password = $m[0];
$server = $m[1];
$login = base64_encode("{$username}:{$password}");
login($server, $login);
};




?>

剧本写得很好。但是,当我在本地主机上加载页面时,加载需要花费很长时间,然后在处理完整个文件后立即打印出所有内容


我想打印出
出错的部分
完成的部分
,每次打印文件时,我不希望它等待整个文件通过循环

您可能会想看看PHP刷新,它将内容推送到浏览器,然后再继续创建更多页面内容。请注意,根据我对PHP的记忆,您需要同时ob_flush()和flush(),以便正确地将内容刷新到浏览器中

[编辑]

示例:您可以尝试将echo语句更改为类似以下内容:

echo "Completed";
ob_flush();
flush();

您可能会想看看PHP flushing,它将内容推送到浏览器,然后再继续创建更多页面内容。请注意,根据我对PHP的记忆,您需要同时ob_flush()和flush(),以便正确地将内容刷新到浏览器中

[编辑]

示例:您可以尝试将echo语句更改为类似以下内容:

echo "Completed";
ob_flush();
flush();

您可能会想看看PHP flushing,它将内容推送到浏览器,然后再继续创建更多页面内容。请注意,根据我对PHP的记忆,您需要同时ob_flush()和flush(),以便正确地将内容刷新到浏览器中

[编辑]

示例:您可以尝试将echo语句更改为类似以下内容:

echo "Completed";
ob_flush();
flush();

您可能会想看看PHP flushing,它将内容推送到浏览器,然后再继续创建更多页面内容。请注意,根据我对PHP的记忆,您需要同时ob_flush()和flush(),以便正确地将内容刷新到浏览器中

[编辑]

示例:您可以尝试将echo语句更改为类似以下内容:

echo "Completed";
ob_flush();
flush();

您是否可以执行您想要执行的操作取决于所使用的web服务器,以及它在输出缓冲方面的配置方式

开始阅读PHP函数的文档是一个好地方

调用
flush
是为了将输出推送到最终用户,但有时web服务器会实现自己的输出缓冲,这会破坏效果

flush
文档中:

一些服务器(尤其是Win32上的服务器)仍会缓冲脚本的输出,直到脚本终止,然后再将结果传输到浏览器


您是否可以执行您想要执行的操作取决于所使用的web服务器,以及它在输出缓冲方面的配置方式

开始阅读PHP函数的文档是一个好地方

调用
flush
是为了将输出推送到最终用户,但有时web服务器会实现自己的输出缓冲,这会破坏效果

flush
文档中:

一些服务器(尤其是Win32上的服务器)仍会缓冲脚本的输出,直到脚本终止,然后再将结果传输到浏览器


您是否可以执行您想要执行的操作取决于所使用的web服务器,以及它在输出缓冲方面的配置方式

开始阅读PHP函数的文档是一个好地方

调用
flush
是为了将输出推送到最终用户,但有时web服务器会实现自己的输出缓冲,这会破坏效果

flush
文档中:

一些服务器(尤其是Win32上的服务器)仍会缓冲脚本的输出,直到脚本终止,然后再将结果传输到浏览器


您是否可以执行您想要执行的操作取决于所使用的web服务器,以及它在输出缓冲方面的配置方式

开始阅读PHP函数的文档是一个好地方

调用
flush
是为了将输出推送到最终用户,但有时web服务器会实现自己的输出缓冲,这会破坏效果

flush
文档中:

一些服务器(尤其是Win32上的服务器)仍会缓冲脚本的输出,直到脚本终止,然后再将结果传输到浏览器


你可以在while循环中
echo
一些东西吗?正如@rar所建议的,你可以
echo
在项目中循环时输出一些东西。如果您想在页面解析这些项目时与页面进行交互,那么您唯一的选择就是加载页面,然后调用
ajax
来解析项目。问题是web服务器在将整个输出发送到客户机之前完全完成了脚本。这就是它的工作方式。如果您想要交互式的,或者至少是周期性的响应,请使用AJAX。仍然在加载整个文件,你能不能在while循环中
回送
一些东西?正如@rar所建议的,你可以
回送
一些东西,就像你在项目中循环一样。如果您想在页面解析这些项目时与页面进行交互,那么您唯一的选择就是加载页面,然后调用
ajax
来解析项目。问题是web服务器在将整个输出发送到客户机之前完全完成了脚本。这就是它的工作方式。如果您想要交互式的,或者至少是周期性的响应,请使用AJAX。仍然在加载整个文件,你可以jus吗