![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 3 Dołączył: 23.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Zadaniem mojego skryptu jest około 10 krotnie wywołanie innych plików, które są na tym samym serwerze. Teraz mam file_get_contents wewnątrz foreacha. Wolno to działa. Może da się jakoś inaczej? Pozdrawiam -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 175 Pomógł: 18 Dołączył: 11.06.2007 Skąd: Koszalin/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Spróbój DirectoryIterator.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 3 Dołączył: 23.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca mi o to chodziło. Przez file_get_contents pobieram sobie plik, z tego samego serwera, który zwraca mi tablicę wartości, tzn. w tym pliku jest echo. Dlatego same wykonanie to nie wszystko, potrzebuje jeszcze pobrać to, co wypluwa ten plik.
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
To może pokaż co tam teraz masz.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 3 Dołączył: 23.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chyba tak będzie najlepiej:
Kod foreach($phrases as $val){
$pos = file_get_contents("http://adres.pl/getPosition.php?phrase=".urlencode($val)."&site=$address"); $pos = explode ('|', $pos); $row = "<tr><td>$val</td><td align=\"center\">$pos[0]</td><td align=\"center\">$pos[1]</td></tr>"; $message .= $row; echo $row; $sum += $pos[1]; } -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Zadaniem mojego skryptu jest około 10 krotnie wywołanie innych plików Przecież w kodzie co podałeś wywołujesz ciągle ten sam jeden plik a nie 10 różnych :/Totalnie bezsensu. Zapisz to co robi ten plik w funkcji i poprostu odpalaj funkcje a nie jakieś dzikie kombinacje robisz. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 3 Dołączył: 23.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tak, wywołuje 10 razy ten sam plik z różnymi parametrami. W pliku getPosition.php mam:
Kod curl_setopt($rC, CURLOPT_HEADER, 0); curl_setopt($rC, CURLOPT_RETURNTRANSFER, 1); curl_setopt($rC, CURLOPT_VERBOSE, 1); curl_setopt($rC, CURLOPT_REFERER, 'www.google.pl'); curl_setopt($rC, CURLOPT_URL, sprintf($sURLTpl, urlencode($sQ))); $sData = curl_exec($rC); curl_close($rC); Czy wrzucenie tego do funkcji w miejsce file_get_contents na pewno poprawi szybkość? -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Tak, wywołuje 10 razy ten sam plik z różnymi parametrami. To już wiem, przecież sam ci to napisałem, bo z pierwszego posta można było wywnioskować, że to ty tego nie wiesz.Cytat Czy wrzucenie tego do funkcji w miejsce file_get_contents na pewno poprawi szybkość? 1) zamiast file_get_contents() będziesz wywoływał funkcje, którą masz zdefiniować gdzieś wcześniej - tak, to przyspieszy ten kod, bo nie będziesz już bez sensu ładował przez http tego pliku. 2) Czy przyspieszy znacznie? Może się okazać, że nie koniecznie, gdyż ty w tym pliku latasz do google, i może się okazać, że dośc spore opóźnienia masz właśnie tam. 3) Mógłbyś cachować u siebie wyniki. Przecież pozycja podanych adresów nie zmienia się zbyt często ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 3 Dołączył: 23.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki
![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 1.07.2025 - 09:41 |