Почему сохраняется последняя картинка? Должны сохраняться обе... $arr[] - в ней содержится ссылка на страницу с картинкой $img - в ней содержится ссылка на картинку $fp2- соответсвенно папка куда сохраняется файл Где ошибка??? PHP: <? $arr[]='http://blokart.su/par/par_567.html'; $arr[]='http://blokart.su/terrakot/pl-obl/pl-obl_5632.html'; $counter=count($arr); echo $counter.'<br>'; foreach($arr as $arr1){$links=$arr1;} $getContenturl="$links"; $getContentcont=file_get_contents($getContenturl); $vivod = getContent($getContentcont); $htp="http://blokart.su"; if (preg_match_all("(/netcat_files/\d+/\d+/[0-9a-z]*)",$vivod,$m)) $img="$htp".$m[0][0]; {print $img;echo '<br>';} $data = $img; list($a,$b,$c,$d,$q,$q1,$q2,$q3) = explode("/", $data); echo $q2; foreach($m as $link)//{echo "$link"} //for($i=0;$i<1;$i++){ $res=file_get_contents($img); $fp2=fopen("img\\".$q2.".jpg",'w+'); fwrite($fp2,$res); fclose($fp2); // } function getContent($cont){ $tag_in="<div class='main'>"; $tag_out='Корзина'; $position=strpos($cont,$tag_in);//nahodit nachalo $cont=substr($cont,$position); $position=strpos($cont,$tag_out); $cont=substr($cont,0,$position); $cont=strip_tags($cont ,'<img><div></div>' ); $string = $cont; $patterns[0] = "(<div>[^>]*</div>)"; $patterns[1] = "(align=[^>]*)"; $patterns[2] = "(style=[^>]*)"; $patterns[3] = "(class=[^>]*)"; // $patterns[4] = "(/netcat_files/\d+/\d+)"; // $patterns[5] = "((/Image/[0-9a-z]*))"; $replacements[1] = ""; $replacements[2] = ""; $replacements[3] = ""; $replacements[4] = ""; //$replacements[5] = "/netcat_files/Image"; //$replacements[6] = "\\1.jpg"; $cont=preg_replace($patterns, $replacements, $string); return $cont; } ?>
Потому что в масиве foreach() ты перезаписываешь переменную $links и по окончании цикла в этой переменной будет содержаться только одни результат (последний).
Нужно все ваши операции которые проводятся с переменной $links поместить в цикл foreach() Тогда все действия и будут выполнятся попорядку.