Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Losowanie serwerów.
kajzur
post
Post #1





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

Ostrzeżenie: (0%)
-----


Witam, mam problem, mam losować 1 z kilku serwerów.. Serwery są zapisane w pliku txt jeden pod drugim, każdy z serwerów zwraca pokaźnego XML'a, więc odbieram go przez CURL'a, jednak że odbiera prawidłowo tylko z jednego serwera, z drugiego już nie.. Dokładnie tablica wykonana poprzez file() z tego pliku wygląda tak:
Kod
Array ( [0] => http://yyy.yyy.pl/ [1] => http://xx.xx.pl/ )
I skrypt nie odbiera wyników tylko z serwera z indeksem 0! Z serwera z indeksem 1 odbiera zawsze. Na serwerach są identyczne skrypty, załączam skrypt pliku który losuje..

http://wklej.org/id/125960/

Z serwera o indeksie 0 dostaję pusty plik xml.. A z innym indeksem dostaję prawidłowe wartości.. Na serwerach są identyczne skrypty, więc powinny zwracać to samo - identyczne ustawienia PHP..

Proszę o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Dodam że po zmianie kolejności, czy zmianie domeny nic się nie zmienia.. Nadal index 0 nie pobiera danych..
Go to the top of the page
+Quote Post
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


nie mogłeś użyć array_rand" title="Zobacz w manualu PHP" target="_manual ?

i sprawdź czy do pliku nie dodaje ci dziwnych znaków, kiedyś tak miałem w związku z kodowaniem że do pierwszej linijki dodawało mi 3 niewidoczne znaki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

najlepiej zrób tak, że pierwszą linijkę pozostaw pustą i napisz czy działa

Ten post edytował Pawel_W 25.07.2009, 19:13:32
Go to the top of the page
+Quote Post
kajzur
post
Post #3





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

Ostrzeżenie: (0%)
-----


Zrobiłem 1 linie pustą, ale wtedy index 1 nie działa, a index 2 działa.. Array_rand tutaj zrobi prawie to samo co rand i count (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Rzecz jasna wtedy 1 argument rand ustawiłęm na 1.
Go to the top of the page
+Quote Post
TrevorGryffits
post
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


A spróbuj zamienić adres 2. z adresem 1. Przynajmniej będziesz wiedział na pewno gdzie nie leży problem.
Go to the top of the page
+Quote Post
kajzur
post
Post #5





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

Ostrzeżenie: (0%)
-----


Próbowałem, w takim ustawieniu nadal nie działa serwer z indexem 0 który przed zamianą działa, a serwer z indexem 1 działa, chodź przed zmianą nie działał.. Magia!
Go to the top of the page
+Quote Post
Darti
post
Post #6





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


Lepiej wrzuć trochę kodu bo pewnie gdzie indziej masz feler, nie ma co dywagować "na ślepo"
Go to the top of the page
+Quote Post
kajzur
post
Post #7





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

Ostrzeżenie: (0%)
-----


Jest link w 1 poście..
Go to the top of the page
+Quote Post
Darti
post
Post #8





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


Faktycznie magia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) nadzieja w array_rand ...
Badaj krok po kroku jakie wartości mają zmienne.
Aha, pod windowsami rand nie warto dawać MAX'a >= 32768, ale tutaj chyba nie ma z tym związku ... (a może ?)
Go to the top of the page
+Quote Post
Pawel_W
post
Post #9





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


a sprawdziles to o czym mowilem, czyli te 3 znaki?

moze sprobuj tak:
zamien te adresy do takiej formy: |adres

a potem dawaj explode('|', $adres_wylosowany_z_tablicy);

i zobaczy czy zadziala, jak nie to ja juz nie wiem o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
kajzur
post
Post #10





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

Ostrzeżenie: (0%)
-----


Ale jajca! Działa!

  1. <?php
  2. $file = file('servers.txt'); // load list of servers
  3.  
  4. // rand one server fom list
  5.  
  6. $rand=explode('|', $file[0]);
  7. $los = rand(0, count($rand)-1);
  8. $server = $rand[$los];
  9. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 17:03