217.13.212.228:3128
110.149.151.49:3128
::
167.145.34.23:3128
162.146.34.23:3128
itd.
Następnie mam listę adresów url i numerów id wygląda to tak:
adresy url:
www.strona1.pl
www.strona2.pl
adresy id
123
234
:: //separator
768
790
itd.
Do każdej ze stron jest przyporządkowana grupa id oddzielona separatorem i to jest OK.
Chce jednak zrobić coś takiego aby dla przykładowo 6 adresów proxy odczytanych z pliku funkcja zwracała odpowiednie pary adres url -> adres id i tak za każdym uruchomieniem. Oczywiście funkcja musi zapamiętywać w pliku txt tzw. "przedział skanowania dla proxy".
Sam wykombinowałem coś takiego ale już się zaczynam w tym gubić i liczę na pomoc kogoś bardziej zdolnego.
/****************************************FUNCTION 1***********************************/ function zwroc($plik) { //funkcja zwracajaca ilosc zapisanych ID for ($i=$zmienna[0]; $i<$zmienna[0]+1; $i++) { } if ($otworz) { return $i; //zwraca ilosc zapisanych ID } else { exit; } } /****************************************END OF FUNCTION 1*******************************/ function zapisuje($file, $wartosc) { //funkcja zapisuje ilosc obsluzonych proxy, zapisuje ta wartosc w pliku i zwraca ja $b = intval($gdzie[0]) + $wartosc; //$wartość powinien być 1, gdy napotkamy znak separatora przeskakujemy do następnej linii if ($otworz1) { return $b; } else { exit; } } /****************************************FUNCTION 2***********************************/ function skasuj($plik) { if ($open) { return 0; //zwracamy zero dlatego ze plik sie wyzerowal } else { exit; } } /****************************************END OF FUNCTION 2*******************************/ /****************************************FUNCTION 3***********************************/ function zwroc1($plik) { //funkcja oczytujaca ilosc obsluzonych katalogow if ($zmienna[0]=='') $zmienna[0]=0; } /****************************************END OF FUNCTION 3*******************************/
Zastosowanie funkcji:
$ids1 = zwroc1('ile.txt'); //odczytujemy ilosc obsluzonych url $licznik1 = zwroc1('ile1.txt'); //odczytujemy ilosc obsluzonych id if ($ids1 == 0) {$licznik1=0;} //WARUNEK0 wyjatek dla zera $ile = zwroc1('file.txt'); //odczytujemy ilość obsłużonych adresów proxy if ($ile == '') $ile = 6; //jeśli nic to domyślnie ustawiamy "przesunięcie" na 6 for($x=$ile-6; $x<=$ile; $x++) { $licznik2 = zapisuje('file.txt', $x+1); //zapisujemy w pliku wartosc zczytana z pliku powiekszona o 1 $ids1 = zwroc('ile.txt'); //zapisujemy ilosc obsluzonych katalogow i zwiekaszamy o 1 if ($ids1 > count($ids)) { //WARUNEK1 jesli wszystkie rekordy zostaly obsluzone rozpoczynamy prace od nowa i zerujemy plik ile.txt licznik1=0 funkcja zwraca 0 $licznik1 = skasuj('ile.txt'); skasuj('ile1.txt'); } if (trim($ids[$ids1]) == '::') { //WARUNEK2 jesli napotkami znak '::' wywolujemy funkcje inkrementowania o 1 i zapisania wartosci w pliku zewnetrznym txt $licznik1 = zwroc('ile1.txt'); } else { $licznik1 = zwroc1('ile1.txt'); //WARUNEK3 } }