Проверить список URL 
		
		
		
		
<?php
	$lines = file('temp.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
	$multi = curl_multi_init();
	$channels = array();
	foreach ($lines as $line) {
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $line);
		curl_setopt($ch, CURLOPT_HEADER, false);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_multi_add_handle($multi, $ch);
 
    	$channels[$line] = $ch;
	}
	$active = null;
	do {
		$mrc = curl_multi_exec($multi, $active);
	} while ($mrc == CURLM_CALL_MULTI_PERFORM);
	while ($active && $mrc == CURLM_OK) {
		if (curl_multi_select($multi) == -1) {
			continue;
		}
		do {
			$mrc = curl_multi_exec($multi, $active);
		} while ($mrc == CURLM_CALL_MULTI_PERFORM);
	}
	foreach ($channels as $channel) {
		echo curl_getinfo($channel, CURLINFO_EFFECTIVE_URL) . ':'. curl_getinfo($channel, CURLINFO_HTTP_CODE) . "\n";
		curl_multi_remove_handle($multi, $channel);
	}
	curl_multi_close($multi);
?>
требуется проверить урлы из файла и вывести коды ответов сервера. как сделать, чтобы редиректы и 404 игнорировались? еще появляется код 0? что это значит?  | 
	
		
 Куда делись все спецы? 
	 | 
	
		
 Цитата: 
	
 Цитата: 
	
 Цитата: 
	
 
<?php
	$lines = file('temp.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
	$multi = curl_multi_init();
	$channels = array();
	foreach ($lines as $line) {
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $line);
		curl_setopt($ch, CURLOPT_HEADER, false);
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_multi_add_handle($multi, $ch);
 
    	$channels[$line] = $ch;
	}
	$active = null;
	do {
		$mrc = curl_multi_exec($multi, $active);
	} while ($mrc == CURLM_CALL_MULTI_PERFORM);
	while ($active && $mrc == CURLM_OK) {
		if (curl_multi_select($multi) == -1) {
			continue;
		}
		do {
			$mrc = curl_multi_exec($multi, $active);
		} while ($mrc == CURLM_CALL_MULTI_PERFORM);
	}
	foreach ($channels as $channel) {
        $statusCode = (int) curl_getinfo($channel, CURLINFO_HTTP_CODE);
        if (!in_array($statusCode, [0, 404, 301, 302, 307])) {
            echo curl_getinfo($channel, CURLINFO_EFFECTIVE_URL) . ':'. $statusCode . "\n";
        }
        
		curl_multi_remove_handle($multi, $channel);
	}
	curl_multi_close($multi);
?>
 | 
	
		
 Nexus, благодарю! 
	 | 
| Часовой пояс GMT +3, время: 02:46. |