nasıl rastgele kıvrılma için vekil atamak?

2 Cevap php

benim kıvırmak bu format ile sitemde kaydedilir proxy.txt dosyadan rasgele proxy kullanmak istiyorum:

1.1.1.1:8080
2.2.2.2:8080
3.3.3.3:8080
...

Ben proxy.txt listeden farklı proxy kullanır, ama hiçbir fikrim yok, her zaman ben php böyle bir şey kod böylece rastgele bunu yapmak istiyorum.

2 Cevap

Bir dosyadan rastgele bir satır okuyun:

srand ((double)microtime()*1000000);
$f_contents = file ("proxy.txt");
$line = $f_contents[array_rand ($f_contents)];
print $line;

Şimdi Tüm ihtiyacınız olan:

function get_random_proxy()
{
    srand ((double)microtime()*1000000);
    $f_contents = file ("proxy.txt");
    $line = $f_contents[array_rand ($f_contents)];
    return $line;
}

Partiye Geç ama bu paylaşmak istedim:

Temelde statik değişken $proxys sadece bir kez ayarlanır ve dizi işaretçi hatırlar, böylece arama her zaman change_proxy() bu dosya size gelecek vermek ve sonra başlangıç ​​dönecektir aldığında o bir kez döngüsü vardır.

function change_proxy()
{
  static $proxys = file('./proxy.txt', FILE_SKIP_EMPTY_LINES|FILE_IGNORE_NEW_LINES);

  $proxy = current($proxys);
  $end = next($proxys); # false when end
  if(!$end) {
    reset($proxys);
  }
  return $proxy;
}